# Danh mục chi tiết Book80

Cập nhật 2026-10-12. 480 mục duy nhất; 14 phase, 78 bước và 29 loại sách. Một tính năng dùng nhiều phase được trình bày lại theo phase, giữ cùng mã để không đếm thành tính năng mới.

Đã xong = phạm vi ghi ở cột Phạm vi đã triển khai; Đang làm = có một phần nhưng còn thiếu code/kết nối/nghiệm thu; Chưa làm = chưa có implementation của toàn bộ hạng mục. Có code hoặc kiểm tự động không thay cho kiểm provider/dữ liệu/người thật.

**Cột “Đã xong” trộn hai thứ khác nhau.** Ô ghi **“Đã xong ✓ đã rà”** là mục đã rà riêng, có bằng chứng ghi kèm. Ô ghi **“Đã xong”** trần là mục *có mã nhưng chưa ai rà riêng* — không phải đã được kiểm. Đo ngày 2026-10-13: **209 mục đã rà** và **0 mục có mã chưa rà** cùng mang nhãn “Đã xong”. Đừng đọc 209 ô “Đã xong” như 209 mục đã nghiệm thu.

## F01 — Chiến lược và đầu tư

Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách.


### F01.1 — Chọn mục tiêu chính

Ghi một mục tiêu đo được và chỉ số dùng để đánh giá.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-1 | Phase step / Chọn mục tiêu chính | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Ghi một mục tiêu đo được và chỉ số dùng để đánh giá. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. Brief/F01: mục tiêu và chỉ số chính | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F01.2 — Tách người mua và người sử dụng

Mô tả riêng người trả tiền và người thực hiện nhiệm vụ trong sách.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-2 | Phase step / Tách người mua và người sử dụng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Mô tả riêng người trả tiền và người thực hiện nhiệm vụ trong sách. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. F01 và candidate: người mua/người sử dụng riêng | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |

### F01.3 — Chọn thị trường, locale và định dạng

Chọn quốc gia, ngôn ngữ, định dạng và kênh dự định bán.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-3 | Phase step / Chọn thị trường, locale và định dạng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Chọn quốc gia, ngôn ngữ, định dạng và kênh dự định bán. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. F01: thị trường, ngôn ngữ, định dạng, kênh | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F01.4 — Ghi năng lực chuyên môn

Ghi kinh nghiệm, tài liệu hoặc chuyên gia có thể kiểm chứng nội dung.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-4 | Phase step / Ghi năng lực chuyên môn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Ghi kinh nghiệm, tài liệu hoặc chuyên gia có thể kiểm chứng nội dung. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. F01: hồ sơ chuyên môn và nguồn | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |

### F01.5 — Phân bổ ngân sách và mức lỗ

Nhập vốn tổng, vốn nghiên cứu và mức lỗ tối đa cùng một tiền tệ.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-5 | Phase step / Phân bổ ngân sách và mức lỗ | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Nhập vốn tổng, vốn nghiên cứu và mức lỗ tối đa cùng một tiền tệ. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. Vốn tổng/nghiên cứu/lỗ; chặn vốn nghiên cứu vượt tổng | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |
| cap-billing-1 | Capability / Gói dịch vụ và giới hạn tính năng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói dịch vụ và giới hạn tính năng. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/plans.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/checkout/route.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/plans.ts |
| cap-billing-2 | Capability / Kiểm entitlement theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm entitlement theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/entitlements.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/batch/route.ts, src/app/api/v1/books/[id]/generate/route.ts, src/app/app/billing/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/entitlements.ts |
| cap-billing-3 | Capability / Giữ/trừ/hoàn credits cho tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ/trừ/hoàn credits cho tác vụ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/credits.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 15 symbol export; được 9 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/db.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/credits.ts |
| cap-billing-4 | Capability / Stripe Checkout/Portal/Webhook cho dịch vụ app | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Stripe Checkout/Portal/Webhook cho dịch vụ app. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/stripe.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 8 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/per-book-idempotency.spec.ts, src/app/api/stripe/checkout/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/stripe.ts |
| cap-billing-5 | Capability / API keys có scope và thu hồi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | API keys có scope và thu hồi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/api-keys.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 7 module thật sự import (src/components/billing/api-keys-section.tsx, src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/auth.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/api-keys.ts |
| cap-billing-6 | Capability / Hoàn giữ credits khi tác vụ thất bại | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hoàn giữ credits khi tác vụ thất bại. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/unwind.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 2 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/lib/billing/unwind.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/unwind.ts |
| cap-setup-1 | Capability / Kiểm hiện diện và loại cấu hình an toàn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm hiện diện và loại cấu hình an toàn. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/config.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/app/api/setup/status/route.ts, src/lib/setup/setup.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/config.ts |
| cap-setup-2 | Capability / Danh sách việc thủ công theo phase và tiêu chí hoàn tất | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh sách việc thủ công theo phase và tiêu chí hoàn tất. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/tasks.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/setup/status/route.ts, src/components/setup/setup-panel.tsx, src/lib/pwa/pwa-setup-check.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/tasks.ts |

### F01.6 — Chốt ngày đánh giá và nhánh chưa làm

Chọn ngày đánh giá, ghi nhánh chưa làm; lưu rồi mở Duyệt giai đoạn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-6 | Phase step / Chốt ngày đánh giá và nhánh chưa làm | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Giới hạn phạm vi và số tiền trước khi đầu tư vào một đầu sách. | Chọn ngày đánh giá, ghi nhánh chưa làm; lưu rồi mở Duyệt giai đoạn. | Mục tiêu và chỉ số chính; Người mua; Người sử dụng; Thị trường / locale / định dạng; Bằng chứng chuyên môn; Tiền tệ (ví dụ USD); Vốn tổng; Vốn nghiên cứu; Mức lỗ tối đa; Ngày đánh giá; Nhánh chưa làm và điều kiện kích hoạt | Một brief có mục tiêu, ngân sách, mức lỗ và ngày xem lại. Ngày review, phạm vi loại trừ, điều kiện xem lại trong quyết định | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-157 | Handoffs F01–F14 và quyết định/authorized spend | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Actor/evidence/version/decision/revisit; thiếu hồ sơ không mở thao tác phụ thuộc |
| legacy-159 | Investment Brief buyer/user/budget/loss cap | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F01 duyệt ngân sách nghiên cứu, không tự cấp toàn bộ production |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-1 | Tạo sách bằng phỏng vấn và chọn blueprint | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/books/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-2 | Danh sách, tìm kiếm và mở sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/books/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-4 | Dashboard điều hướng sách/dự án/kế hoạch | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-14 | Danh sách và wizard tạo kế hoạch kinh doanh | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/plans/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-18 | Trang Billing, credits, plan và khóa BYOK | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/billing/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-21 | Trang thiết lập và danh sách việc cần làm tay | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/setup/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-23 | Trang marketing Book80 và liên kết vào app | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F02 — Nghiên cứu thị trường

Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua.


### F02.1 — Lập ngách và kế hoạch lấy mẫu

Ghi câu hỏi và cách lấy mẫu; lập ngách ứng viên với người mua/người dùng riêng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-7 | Phase step / Lập ngách và kế hoạch lấy mẫu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Ghi câu hỏi và cách lấy mẫu; lập ngách ứng viên với người mua/người dùng riêng. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Candidate, phạm vi, phương pháp và kế hoạch lấy mẫu; ghi tay/CSV | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-15 | Local data form / Ngách ứng viên | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | So sánh nhu cầu của người mua và người dùng. Số lượng ngách là hướng dẫn, không phải cổng cứng. | Mở sách → F02 → Ngách ứng viên; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tên ngách (bắt buộc); Người mua (bắt buộc); Người sử dụng (bắt buộc); Vấn đề hoặc trải nghiệm mong muốn (bắt buộc); Thị trường và ngôn ngữ (bắt buộc); Cách tiếp cận (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; So sánh nhu cầu của người mua và người dùng. Số lượng ngách là hướng dẫn, không phải cổng cứng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |

### F02.2 — So sánh sách và giải pháp thay thế

Nhập sản phẩm cạnh tranh và giải pháp ngoài sách; ghi nguồn và điểm khác biệt.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-8 | Phase step / So sánh sách và giải pháp thay thế | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Nhập sản phẩm cạnh tranh và giải pháp ngoài sách; ghi nguồn và điểm khác biệt. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Catalog đối thủ sách/khóa học/tool/service; tìm URL thật qua Tavily | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-16 | Local data form / Sản phẩm đối chiếu | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Gồm sách và giải pháp ngoài sách; ghi rõ mẫu và phạm vi quan sát. | Mở sách → F02 → Sản phẩm đối chiếu; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tên sản phẩm (bắt buộc); Loại (bắt buộc); Thị trường / ngôn ngữ (bắt buộc); Định dạng (bắt buộc); Giá niêm yết; Tiền tệ (ví dụ USD) (bắt buộc); Ngày cập nhật sản phẩm; Mục lục và giá trị chính (bắt buộc); Cách giao và hỗ trợ (bắt buộc); Điểm mạnh / khoảng trống (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Gồm sách và giải pháp ngoài sách; ghi rõ mẫu và phạm vi quan sát. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |

### F02.3 — Quan sát tìm kiếm / BSR / giá

Ghi từng quan sát có ngày, quốc gia và nguồn. BSR không tự chuyển thành doanh số.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-9 | Phase step / Quan sát tìm kiếm / BSR / giá | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Ghi từng quan sát có ngày, quốc gia và nguồn. BSR không tự chuyển thành doanh số. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Quan sát giá/search/BSR có nguồn/ngày/cửa sổ; unknown khác zero | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-14 | Local data form / Nguồn tìm kiếm trực tuyến | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Kết quả tìm nguồn thật, chưa xác nhận nội dung. Chỉ dùng làm bằng chứng sau khi mở nguồn và ghi người kiểm tra; không suy ra doanh số hay lượng tìm kiếm. | Mở sách → F02 → Nguồn tìm kiếm trực tuyến; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tiêu đề nguồn (bắt buộc); Câu hỏi tìm kiếm (bắt buộc); URL nguồn (bắt buộc); Trích đoạn nguồn; Nhà cung cấp (bắt buộc); Ngày nguồn công bố; Ngày tìm nguồn (bắt buộc); Kiểm nguồn (bắt buộc); Người kiểm nguồn; Giới hạn và quyền sử dụng; Loại bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Kết quả tìm nguồn thật, chưa xác nhận nội dung. Chỉ dùng làm bằng chứng sau khi mở nguồn và ghi người kiểm tra; không suy ra doanh số hay lượng tìm kiếm. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-17 | Local data form / Tìm kiếm, BSR và giá | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Không quy BSR thành doanh số. Để trống khi chưa có dữ liệu; số 0 chỉ cho quan sát bằng 0. | Mở sách → F02 → Tìm kiếm, BSR và giá; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Từ khóa / sản phẩm (bắt buộc); Marketplace (bắt buộc); Định dạng (bắt buộc); Locale (bắt buộc); Chỉ số (bắt buộc); Giá trị; Tình trạng dữ liệu (bắt buộc); Cửa sổ quan sát (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Không quy BSR thành doanh số. Để trống khi chưa có dữ liệu; số 0 chỉ cho quan sát bằng 0. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |

### F02.4 — Phân tích review và phỏng vấn

Ghi trích đoạn, chủ đề, sắc thái; phỏng vấn cần consent. Xem tổng hợp chủ đề và kiểm nguồn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-10 | Phase step / Phân tích review và phỏng vấn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Ghi trích đoạn, chủ đề, sắc thái; phỏng vấn cần consent. Xem tổng hợp chủ đề và kiểm nguồn. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Review/interview có quyền; báo cáo nhóm chủ đề, chống đếm review trùng, đếm sắc thái | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-18 | Local data form / Mẫu đánh giá | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Giữ đánh giá tích cực, trung tính và tiêu cực; không suy rộng một nhóm nhỏ thành toàn thị trường. | Mở sách → F02 → Mẫu đánh giá; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Sản phẩm (bắt buộc); Sắc thái (bắt buộc); Trích đoạn gốc (bắt buộc); Chủ đề nhu cầu (bắt buộc); Cách lấy mẫu / hạn chế (bắt buộc); Cơ sở sử dụng dữ liệu (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Giữ đánh giá tích cực, trung tính và tiêu cực; không suy rộng một nhóm nhỏ thành toàn thị trường. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-19 | Local data form / Phỏng vấn độc giả | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Dùng mã người tham gia thay cho thông tin cá nhân; ghi quyền sử dụng ghi chú hoặc transcript. | Mở sách → F02 → Phỏng vấn độc giả; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã người tham gia (bắt buộc); Nhóm / người mua hay người dùng (bắt buộc); Lần gần nhất gặp vấn đề (bắt buộc); Giải pháp đã thử (bắt buộc); Tiền / thời gian đã chi (bắt buộc); Điều kiện đổi giải pháp (bắt buộc); Trích lời và ngữ cảnh (bắt buộc); Quyền sử dụng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Dùng mã người tham gia thay cho thông tin cá nhân; ghi quyền sử dụng ghi chú hoặc transcript. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| core-18-sop-research-clusters-ts | Capability / Phân nhóm review/phỏng vấn tại máy, duyệt trước lưu nhu cầu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Phân nhóm review/phỏng vấn tại máy, duyệt trước lưu nhu cầu | Mở sách hoặc Workspace → F02 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/research-clusters.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/research-clusters.ts; docs/TODO.md |

### F02.5 — Lập ma trận nhu cầu

Tạo nhu cầu, nối mã review/quan sát/phỏng vấn và ghi cả phản chứng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-11 | Phase step / Lập ma trận nhu cầu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Tạo nhu cầu, nối mã review/quan sát/phỏng vấn và ghi cả phản chứng. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Need → evidence IDs → impact → solution/counterevidence; báo cáo chỉ ra mã thiếu | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-20 | Local data form / Ma trận nhu cầu | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Nhu cầu → bằng chứng → mức ảnh hưởng → phương án nội dung. Chọn mã bằng chứng từ dữ liệu đã lưu. | Mở sách → F02 → Ma trận nhu cầu; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Nhu cầu / kỳ vọng thể loại (bắt buộc); Mã bằng chứng, phân cách bằng dấu phẩy (bắt buộc); Mức ảnh hưởng (bắt buộc); Nội dung hoặc công cụ dự kiến (bắt buộc); Phản chứng / điều còn chưa biết | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Nhu cầu → bằng chứng → mức ảnh hưởng → phương án nội dung. Chọn mã bằng chứng từ dữ liệu đã lưu. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| core-19-sop-research-summary-ts | Capability / Tổng hợp nghiên cứu và độ đầy đủ bằng chứng | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Tổng hợp nghiên cứu và độ đầy đủ bằng chứng | Mở sách hoặc Workspace → F02 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/research-summary.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/research-summary.ts; docs/TODO.md |

### F02.6 — Thử thông điệp, mẫu và nhu cầu mua

Đặt giả thuyết, ngân sách, ngưỡng đạt trước khi thử; nhập số quan sát thực tế sau thử.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-12 | Phase step / Thử thông điệp, mẫu và nhu cầu mua | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Đặt giả thuyết, ngân sách, ngưỡng đạt trước khi thử; nhập số quan sát thực tế sau thử. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Registry message/sample/paid/preorder/price/cover/blurb; mẫu số/chi tiêu/attribution | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-21 | Local data form / Thử nghiệm nhu cầu và thương mại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Mở sách → F02 → Thử nghiệm nhu cầu và thương mại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Giả thuyết (bắt buộc); Mã ngách / SKU (bắt buộc); Cách thử (bắt buộc); Thiết kế (bắt buộc); Thông điệp / mẫu / thay đổi (bắt buộc); Đối tượng đủ điều kiện (bắt buộc); Lượt tiếp cận đủ điều kiện (bắt buộc); Đăng ký quan tâm; Người dùng mẫu; Đơn mua (bắt buộc); Chi tiêu (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Hạn mức thử (bắt buộc); Cửa sổ đo và attribution (bắt buộc); Yếu tố nhiễu / hạn chế (bắt buộc); Kết luận và lần thử tiếp theo (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |

### F02.7 — Chẩn đoán kết quả và quyết định

Ghi giới hạn kết luận và lần thử rẻ nhất tiếp theo; mở Duyệt giai đoạn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-13 | Phase step / Chẩn đoán kết quả và quyết định | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tìm nhu cầu có bằng chứng trước khi viết và kiểm tra khả năng tiếp cận người mua. | Ghi giới hạn kết luận và lần thử rẻ nhất tiếp theo; mở Duyệt giai đoạn. | Câu hỏi nghiên cứu; Phương pháp / mẫu / hạn chế; Khả năng tiếp cận độc giả; Kết luận và phản chứng; Lần thử rẻ nhất kế tiếp / điều kiện xem lại | Ma trận nhu cầu, phản chứng và quyết định thử tiếp hoặc dừng. Tỷ lệ và khoảng Wilson 95%; hạn chế thiết kế; quyết định F02/ngân sách tiếp | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; e2e/step-guide-navigation.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-109 | Xác định người mua, người dùng, job/trải nghiệm và 3–5 ngách | Đã xong ✓ đã rà | Candidate có buyer/user/problem/locale/source | Số lượng ngách là hướng dẫn, không phải cổng cứng. Chưa có registry độ phủ nghiên cứu đầy đủ theo nguồn. |
| legacy-110 | Chốt câu hỏi, nguồn, phương pháp và ngân sách | Đã xong ✓ đã rà | Kế hoạch/method/budget/scope; chưa provider coverage registry đầy đủ | SAI LỆCH ĐO ĐƯỢC: claim gốc ghi “Kế hoạch/method/budget/scope”, nhưng hồ sơ F02 chỉ có question, method, reach, conclusion, next_test — không có trường budget hay scope. Ngân sách nghiên cứu là `research_budget` của F01. Thiếu câu hỏi nghiên cứu thì `phaseProblems` chặn, không duyệt được F02. |
| legacy-111 | Thu thập 15–30 sản phẩm đối chiếu, gồm giải pháp ngoài sách | Đã xong ✓ đã rà | Catalog tay/CSV + Tavily URL; chưa tự extract marketplace | Chưa tự trích xuất từ marketplace — vẫn nhập tay hoặc qua CSV. Nguồn tìm kiếm cần khoá Tavily và tính phí theo lượt. |
| legacy-112 | Quan sát search/BSR/price theo thời gian | Đã xong ✓ đã rà | Snapshots nhập tay có thời gian; chưa provider BSR/volume Có adapter DataForSEO search-volume; BSR/competition Amazon vẫn cần nguồn riêng. | Adapter DataForSEO search-volume có mã và test, nhưng CHƯA xác thực live: lượt đo trước đây trả status_code 40100 (thiếu cấu hình). BSR và competition chưa có nguồn nào. |
| legacy-113 | Chọn mẫu review tích cực/trung tính/tiêu cực | Đã xong ✓ đã rà | Corpus/rights/theme; summary loại trùng và đếm sắc thái; AI clustering chưa có | Chưa có AI clustering chủ đề. Quyền dùng dữ liệu review ghi ở cột rights và do người dùng xác nhận, không tự suy ra. |
| legacy-114 | Phỏng vấn khoảng 10–15 người đúng đối tượng | Đã xong ✓ đã rà | Notes/consent/quote; chưa upload transcript→AI coding workflow | Chưa có đường nhập transcript và mã hoá người tham gia — consent là khai trong biểu mẫu, không phải cổng ký. |
| legacy-115 | Tổng hợp nhu cầu và khoảng trống | Đã xong ✓ đã rà | Needs/evidence/counterevidence; báo cáo nêu mã cần kiểm | Phản chứng là ô tự do; chưa có kiểm ngược tự động bằng nguồn bên ngoài. |
| legacy-116 | Thiết kế hai thông điệp và trang thử | Đã xong ✓ đã rà | Experiment variants/window/budget; chưa deploy trang và telemetry | Không tự đăng trang thử hay chạy quảng cáo. Số liệu phải nhập tay sau khi thử. |
| legacy-117 | Thử chương/công cụ mẫu | Đã xong ✓ đã rà | Sample protocol/reader tasks có version; nghiệm thu người thật | Nghiệm thu người thật là việc ngoài phần mềm. AI simulation không thay kết quả này. |
| legacy-118 | Kiểm willingness-to-pay nếu phù hợp | Đã xong ✓ đã rà | Orders/refunds import có nền; chưa payment/delivery cho độc giả | Chưa có thanh toán và giao file cho độc giả. Bản nhập là CSV quan sát; chưa tự đối soát với báo cáo nguồn. |
| legacy-119 | Đọc kết quả và chẩn đoán | Đã xong ✓ đã rà | Tỷ lệ và Wilson interval; không tự gọi A/B causal | A/B không có nhóm đối chứng thì nhãn nói rõ chưa chứng minh quan hệ nhân quả. Không suy ra doanh số từ BSR. |
| legacy-120 | Lập F02 và quyết định đầu tư tiếp | Đã xong ✓ đã rà | F02 quyết định/vốn/revisit/history; chưa digital signing | Quyết định là do người vận hành ghi, không phải chữ ký số hay xác thực danh tính. Dữ liệu hoặc bản thảo đổi thì quyết định cũ mất hiệu lực. |
| legacy-128 | Marketing & SEO | Đang làm | `publish/metadata-optimizer.ts`, `launch/` | Giữ; nối campaign vào release đã duyệt và kết quả đo Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-133 | Analytics & Optimization | Đang làm | `sales/`, `eval/`, `market/niche-score.ts` | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-134 | Content Repurposing | Đang làm | `refs/`, `publish/translate.ts` remix, course, formats, `podcast/` | Giữ đầu ra; nối source-to-book recipes, thêm transcript/OCR khi cần Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-136 | Free Tools Suite | Chưa làm | Hàm bible/metadata/cover/pricing có thể tái sử dụng | Chưa có hub 25+ tools; chọn vài tool hữu ích, không nhân bản logic Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-141 | AI Market Trend Detector | Đang làm | `market/niche-score.ts`, feasibility bridge, mock data source | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-148 | A/B Covers & Blurbs | Đang làm | Review có A/B draft; sales có thử giá | Gộp #4/#13; A/B nội dung draft không phải thử conversion bìa/blurb; thêm experiment Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-160 | Research data contracts/provenance/imports | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | CSV/notes/URL/source/license/time/unknown giữ đủ; tenant isolation |
| legacy-161 | Candidate + competitor catalog | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | R01–04, book/non-book alternatives, scope/price/TOC; không BSR→sales certainty |
| legacy-162 | Review corpus/theme + interview workflows | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | R05–06, balance/sample denominators/quote traces; AI summary được human check |
| legacy-163 | Needs matrix và evidence-linked synthesis | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | R07, counterevidence và missing data; từng problem dẫn observation |
| legacy-164 | Experiment registry/message/sample/payment results | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | R08–11, budget/window/denominator; signup khác paid; before-after label đúng |
| legacy-165 | F02 evidence adequacy và scanner/bridge correction | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | R12, thiếu dữ liệu không auto go/no-go; price khác margin; decision được ký |
| legacy-184 | Provider/trend/ads/email/POD integrations | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | API/license coverage verified, snapshots/retry/budget; publication/order/message cần quyền |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F03 — Định vị và hệ sản phẩm

Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể.


### F03.1 — Viết định vị có bằng chứng

Ghi định vị, độc giả ưu tiên và mã bằng chứng nhu cầu F02.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-22 | Phase step / Viết định vị có bằng chứng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể. | Ghi định vị, độc giả ưu tiên và mã bằng chứng nhu cầu F02. | Định vị; Điều kiện sử dụng / người không phù hợp; Hành trình trước / trong / sau đọc; Giá trị đủ trong sách chính | SKU sách chính, lời hứa truy vết được và phạm vi đã giới hạn. Định vị và sản phẩm nối mã nhu cầu F02 | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |

### F03.2 — Xác định điều kiện sử dụng

Ghi kỹ năng/công cụ cần có và người không phù hợp với sản phẩm.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-23 | Phase step / Xác định điều kiện sử dụng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể. | Ghi kỹ năng/công cụ cần có và người không phù hợp với sản phẩm. | Định vị; Điều kiện sử dụng / người không phù hợp; Hành trình trước / trong / sau đọc; Giá trị đủ trong sách chính | SKU sách chính, lời hứa truy vết được và phạm vi đã giới hạn. Điều kiện sử dụng và nhóm không phù hợp | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |

### F03.3 — Map trước, trong và sau đọc

Ghi người đọc làm gì trước, trong và sau khi đọc để thấy điểm cần hỗ trợ.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-24 | Phase step / Map trước, trong và sau đọc | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể. | Ghi người đọc làm gì trước, trong và sau khi đọc để thấy điểm cần hỗ trợ. | Định vị; Điều kiện sử dụng / người không phù hợp; Hành trình trước / trong / sau đọc; Giá trị đủ trong sách chính | SKU sách chính, lời hứa truy vết được và phạm vi đã giới hạn. F03: hành trình trước/trong/sau đọc | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| core-20-sop-promise-coverage-ts | Capability / Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Mở sách hoặc Workspace → F03/F06/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/promise-coverage.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/promise-coverage.ts; docs/TODO.md |

### F03.4 — Chốt giá trị sách chính

Đăng ký SKU sách chính và sổ lời hứa: nối nhu cầu, bổ sung mã nội dung khi có dàn ý.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-25 | Phase step / Chốt giá trị sách chính | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể. | Đăng ký SKU sách chính và sổ lời hứa: nối nhu cầu, bổ sung mã nội dung khi có dàn ý. | Định vị; Điều kiện sử dụng / người không phù hợp; Hành trình trước / trong / sau đọc; Giá trị đủ trong sách chính | SKU sách chính, lời hứa truy vết được và phạm vi đã giới hạn. Sổ lời hứa → mã nhu cầu → chương/block; tách gắn dàn ý, nội dung hiện có và nghiệm thu người kiểm | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-27 | Local data form / Thẻ sản phẩm và offer | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Sách chính phải đủ lời hứa. Sản phẩm mua thêm có giá trị và người hỗ trợ riêng. | Mở sách → F03 → Thẻ sản phẩm và offer; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã SKU (bắt buộc); Tên sản phẩm (bắt buộc); Loại (bắt buộc); Ngôn ngữ / thị trường (bắt buộc); Giá trị nhận được (bắt buộc); Bao gồm / yêu cầu sử dụng (bắt buộc); Mã nhu cầu / bằng chứng (bắt buộc); Giá thử (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Quan hệ offer (bắt buộc); Người vận hành (bắt buộc); Hỗ trợ và công suất (bắt buộc); Đường giao (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Sách chính phải đủ lời hứa. Sản phẩm mua thêm có giá trị và người hỗ trợ riêng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-186 | Local data form / Lời hứa → nhu cầu → nội dung | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Dùng cho sách chính. Gắn mã nhu cầu F02 trước, mã chương/block ở F06; kiểm định có người chịu trách nhiệm ở F08. Có liên kết không có nghĩa nội dung đã thực hiện đúng lời hứa. | Mở sách → F03 → Lời hứa → nhu cầu → nội dung; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU sách chính (bắt buộc); Lời hứa với độc giả (bắt buộc); Mã nhu cầu F02, cách nhau bằng dấu phẩy (bắt buộc); Mã chương/block thực hiện lời hứa; Kiểm định lời hứa (bắt buộc); Người kiểm định; Bằng chứng nghiệm thu | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, validation, local CAS; Dùng cho sách chính. Gắn mã nhu cầu F02 trước, mã chương/block ở F06; kiểm định có người chịu trách nhiệm ở F08. Có liên kết không có nghĩa nội dung đã thực hiện đúng lời hứa. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F03.5 — Chọn sản phẩm bổ sung và công suất hỗ trợ

Chọn SKU bổ sung có nhu cầu, ghi người hỗ trợ/công suất/đường giao rồi duyệt phạm vi.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-26 | Phase step / Chọn sản phẩm bổ sung và công suất hỗ trợ | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chuyển nhu cầu đã nghiên cứu thành lời hứa và sản phẩm cụ thể. | Chọn SKU bổ sung có nhu cầu, ghi người hỗ trợ/công suất/đường giao rồi duyệt phạm vi. | Định vị; Điều kiện sử dụng / người không phù hợp; Hành trình trước / trong / sau đọc; Giá trị đủ trong sách chính | SKU sách chính, lời hứa truy vết được và phạm vi đã giới hạn. SKU/offer riêng main/magnet/bump/upsell/cross-sell/downsell; owner/support/delivery | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-27 | Local data form / Thẻ sản phẩm và offer | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Sách chính phải đủ lời hứa. Sản phẩm mua thêm có giá trị và người hỗ trợ riêng. | Mở sách → F03 → Thẻ sản phẩm và offer; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã SKU (bắt buộc); Tên sản phẩm (bắt buộc); Loại (bắt buộc); Ngôn ngữ / thị trường (bắt buộc); Giá trị nhận được (bắt buộc); Bao gồm / yêu cầu sử dụng (bắt buộc); Mã nhu cầu / bằng chứng (bắt buộc); Giá thử (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Quan hệ offer (bắt buộc); Người vận hành (bắt buộc); Hỗ trợ và công suất (bắt buộc); Đường giao (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Sách chính phải đủ lời hứa. Sản phẩm mua thêm có giá trị và người hỗ trợ riêng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-128 | Marketing & SEO | Đang làm | `publish/metadata-optimizer.ts`, `launch/` | Giữ; nối campaign vào release đã duyệt và kết quả đo Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-129 | Niche Book Generators | Đang làm | `blueprints/`, `batch/`, `marketplace/` | Mở rộng blueprint có nhu cầu và rubric; chưa coi đủ 18+ loại |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-167 | Product/SKU/offer và promise coverage | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F03 từng promise dẫn content/need; core book đủ giá trị; support capacity |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-1 | Tạo sách bằng phỏng vấn và chọn blueprint | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/books/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F04 — Tài chính và dòng tiền

Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc.


### F04.1 — Xác định người nhận tiền và hồ sơ thuế

Ghi người/pháp nhân nhận tiền và hồ sơ thuế đã xác nhận.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-28 | Phase step / Xác định người nhận tiền và hồ sơ thuế | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Ghi người/pháp nhân nhận tiền và hồ sơ thuế đã xác nhận. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Recipient/currency/tax status có người xác nhận | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; e2e/step-guide-navigation.spec.ts |

### F04.2 — Ghi giả định có nguồn

Ghi nguồn, ngày và loại giả định cho từng số; để thiếu khi chưa biết.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-29 | Phase step / Ghi giả định có nguồn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Ghi nguồn, ngày và loại giả định cho từng số; để thiếu khi chưa biết. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Basis/source/date trong giả định kinh tế | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-34 | Local data form / Hiệu quả từng SKU | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Mở sách → F04 → Hiệu quả từng SKU; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kênh (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ / đơn (bắt buộc); Tiền hưởng trước chi phí / đơn (bắt buộc); Phí biến đổi chưa trừ (bắt buộc); Dự phòng hoàn tiền / đơn (bắt buộc); Lao động / hỗ trợ / đơn (bắt buộc); Thu hút khách / đơn (bắt buộc); Số đơn kịch bản (bắt buộc); Kịch bản (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |

### F04.3 — Tính đóng góp từng SKU

Nhập royalty, phí, hoàn tiền, hỗ trợ và CAC từng SKU; xem đóng góp.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-30 | Phase step / Tính đóng góp từng SKU | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Nhập royalty, phí, hoàn tiền, hỗ trợ và CAC từng SKU; xem đóng góp. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Đóng góp trước/sau CAC, phí/refund/support; royalty khác retail | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-34 | Local data form / Hiệu quả từng SKU | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Mở sách → F04 → Hiệu quả từng SKU; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kênh (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ / đơn (bắt buộc); Tiền hưởng trước chi phí / đơn (bắt buộc); Phí biến đổi chưa trừ (bắt buộc); Dự phòng hoàn tiền / đơn (bắt buộc); Lao động / hỗ trợ / đơn (bắt buộc); Thu hút khách / đơn (bắt buộc); Số đơn kịch bản (bắt buộc); Kịch bản (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |

### F04.4 — Lập kịch bản và CAC / LTV

Lập ba kịch bản riêng; tách CAC/LTV quan sát khỏi dự báo.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-31 | Phase step / Lập kịch bản và CAC / LTV | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Lập ba kịch bản riêng; tách CAC/LTV quan sát khỏi dự báo. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Bảng conservative/base/optimistic, CAC/LTV có evidence riêng | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-34 | Local data form / Hiệu quả từng SKU | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Mở sách → F04 → Hiệu quả từng SKU; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kênh (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ / đơn (bắt buộc); Tiền hưởng trước chi phí / đơn (bắt buộc); Phí biến đổi chưa trừ (bắt buộc); Dự phòng hoàn tiền / đơn (bắt buộc); Lao động / hỗ trợ / đơn (bắt buộc); Thu hút khách / đơn (bắt buộc); Số đơn kịch bản (bắt buộc); Kịch bản (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Nhập phần được hưởng theo kênh; công thức đóng góp trừ phí, hoàn tiền, hỗ trợ và thu hút khách riêng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |
| core-21-sop-monthly-forecast-ts | Capability / Dự toán 12 tháng, actual-vs-forecast và sensitivity | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Dự toán 12 tháng, actual-vs-forecast và sensitivity | Mở sách hoặc Workspace → F04 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/monthly-forecast.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/monthly-forecast.ts; docs/TODO.md |
| core-22-sop-cohort-ts | Capability / CAC/LTV và kịch bản cohort có giả định | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | CAC/LTV và kịch bản cohort có giả định | Mở sách hoặc Workspace → F04/F14 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/cohort.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/cohort.ts; docs/TODO.md |

### F04.5 — Dự toán 13 tuần và 12 tháng

Nhập 13 tuần và 12 tháng; bảng tháng cần đủ 12 dòng mỗi kịch bản. Nhập thực tế khi có báo cáo rồi xem chênh lệch.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-32 | Phase step / Dự toán 13 tuần và 12 tháng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Nhập 13 tuần và 12 tháng; bảng tháng cần đủ 12 dòng mỗi kịch bản. Nhập thực tế khi có báo cáo rồi xem chênh lệch. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Dòng tiền13 tuần và dự toán12 tháng theo 3 kịch bản; thực tế−dự toán; độ nhạy thu/chi; tiền khả dụng sau reserve/commitment | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-35 | Local data form / Dòng tiền 13 tuần | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Tiền về khác royalty đã ghi nhận. Tách tiền thu, chi trả, thuế và reserve theo tuần. | Mở sách → F04 → Dòng tiền 13 tuần; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tuần (1–13) (bắt buộc); Thực thu (bắt buộc); Chi trả (bắt buộc); Thuế phải trả (bắt buộc); Reserve cần giữ cuối tuần (bắt buộc); Nghĩa vụ chưa chi cuối tuần (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Tiền về khác royalty đã ghi nhận. Tách tiền thu, chi trả, thuế và reserve theo tuần. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-187 | Local data form / Dự toán 12 tháng | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Mỗi kịch bản có một dòng cho mỗi tháng 1–12. Royalty/đóng góp khác tiền thu. Không cộng bảng này với 13 tuần; thiếu tháng hoặc tiền tệ khác làm dòng tiền chưa xác định. | Mở sách → F04 → Dự toán 12 tháng; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tháng (1–12) (bắt buộc); Kịch bản (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ (bắt buộc); Tiền hưởng ghi nhận (bắt buộc); Hoàn tiền chưa trừ (bắt buộc); Chi phí biến đổi chưa trừ (bắt buộc); Chi phí cố định chưa trừ (bắt buộc); Chi phí thu hút khách (bắt buộc); Tiền thực thu dự kiến (bắt buộc); Chi trả dự kiến (không gồm thuế) (bắt buộc); Thuế chi trả dự kiến (bắt buộc); Dự phòng cần giữ cuối tháng (bắt buộc); Nghĩa vụ chưa chi cuối tháng (bắt buộc); Cơ sở dự toán (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, validation, local CAS; Mỗi kịch bản có một dòng cho mỗi tháng 1–12. Royalty/đóng góp khác tiền thu. Không cộng bảng này với 13 tuần; thiếu tháng hoặc tiền tệ khác làm dòng tiền chưa xác định. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-188 | Local data form / Thực tế theo tháng | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Cùng tháng tương đối của dự toán, một dòng mỗi tháng. Chỉ ghi báo cáo đã quan sát; chưa có báo cáo để thiếu, không điền 0. Đối chiếu riêng với sổ giao dịch F14. | Mở sách → F04 → Thực tế theo tháng; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tháng (1–12) (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ thực tế (bắt buộc); Tiền hưởng ghi nhận (bắt buộc); Hoàn tiền chưa trừ (bắt buộc); Chi phí biến đổi chưa trừ (bắt buộc); Chi phí cố định chưa trừ (bắt buộc); Chi phí thu hút khách (bắt buộc); Tiền thực thu (bắt buộc); Chi trả (không gồm thuế) (bắt buộc); Thuế đã chi (bắt buộc); Dự phòng cuối tháng (bắt buộc); Nghĩa vụ chưa chi cuối tháng (bắt buộc); Cơ sở thực tế (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, validation, local CAS; Cùng tháng tương đối của dự toán, một dòng mỗi tháng. Chỉ ghi báo cáo đã quan sát; chưa có báo cáo để thiếu, không điền 0. Đối chiếu riêng với sổ giao dịch F14. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |

### F04.6 — Duyệt tiền tới mốc tiếp theo

Kiểm tiền khả dụng sau reserve/cam kết; ghi quyết định và ngân sách tới mốc kế tiếp.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-33 | Phase step / Duyệt tiền tới mốc tiếp theo | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm tra hiệu quả từng SKU và khả năng chi tiền qua các mốc. | Kiểm tiền khả dụng sau reserve/cam kết; ghi quyết định và ngân sách tới mốc kế tiếp. | Tiền tệ (ví dụ USD); Người / pháp nhân nhận tiền; Hồ sơ thuế, tỷ lệ đã xác nhận và nguồn; Tiền đầu kỳ; Dự toán 12 tháng / giả định / nguồn; CAC / LTV thực tế và dự báo tách riêng | Đóng góp từng kênh, dòng tiền 13 tuần và dự toán 12 tháng có nguồn. Quyết định khoản vốn kế tiếp, ngưỡng lỗ và review date | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; e2e/step-guide-navigation.spec.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |
| cap-billing-1 | Capability / Gói dịch vụ và giới hạn tính năng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói dịch vụ và giới hạn tính năng. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/plans.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/checkout/route.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/plans.ts |
| cap-billing-2 | Capability / Kiểm entitlement theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm entitlement theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/entitlements.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/batch/route.ts, src/app/api/v1/books/[id]/generate/route.ts, src/app/app/billing/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/entitlements.ts |
| cap-billing-3 | Capability / Giữ/trừ/hoàn credits cho tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ/trừ/hoàn credits cho tác vụ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/credits.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 15 symbol export; được 9 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/db.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/credits.ts |
| cap-billing-4 | Capability / Stripe Checkout/Portal/Webhook cho dịch vụ app | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Stripe Checkout/Portal/Webhook cho dịch vụ app. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/stripe.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 8 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/per-book-idempotency.spec.ts, src/app/api/stripe/checkout/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/stripe.ts |
| cap-billing-5 | Capability / API keys có scope và thu hồi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | API keys có scope và thu hồi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/api-keys.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 7 module thật sự import (src/components/billing/api-keys-section.tsx, src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/auth.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/api-keys.ts |
| cap-billing-6 | Capability / Hoàn giữ credits khi tác vụ thất bại | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hoàn giữ credits khi tác vụ thất bại. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/unwind.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 2 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/lib/billing/unwind.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/unwind.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-127 | Publishing & Commerce | Đang làm | `publish/`, API publish, `sales/` | Giữ commerce/pricing; hoàn thiện release workflow và connector capability |
| legacy-133 | Analytics & Optimization | Đang làm | `sales/`, `eval/`, `market/niche-score.ts` | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-142 | Dynamic Pricing | Đang làm | `publish/pricing.ts`, `sales/price-experiment.ts` | Gộp #7/#13; unit economics trước đầu tư, thử giá sau duyệt, không tự mở rộng bằng LTV giả định Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-157 | Handoffs F01–F14 và quyết định/authorized spend | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Actor/evidence/version/decision/revisit; thiếu hồ sơ không mở thao tác phụ thuộc |
| legacy-168 | Assumptions/unit economics/scenario engine | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F04 observed/projection riêng; đúng base/denominator/currency; royalty rules cập nhật |
| legacy-169 | 13-week cashflow, commitments, payouts/reconciliation | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tiền khả dụng khác accrual; reserve và chi đã cam kết ngăn over-spend |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-14 | Danh sách và wizard tạo kế hoạch kinh doanh | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/plans/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-18 | Trang Billing, credits, plan và khóa BYOK | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/billing/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F05 — Quyền, hợp đồng và dữ liệu

Ghi quyền sử dụng và trách nhiệm của những người tham gia.


### F05.1 — Lập sổ quyền từng asset

Liệt kê tài nguyên và bằng chứng quyền sử dụng, kể cả hình, giọng và dữ liệu.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-36 | Phase step / Lập sổ quyền từng asset | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ghi quyền sử dụng và trách nhiệm của những người tham gia. | Liệt kê tài nguyên và bằng chứng quyền sử dụng, kể cả hình, giọng và dữ liệu. | Thành phần AI / dữ liệu được phép gửi; Đường xuất bản / thị trường / người kiểm tra; Vai trò / thu hồi truy cập / sao lưu | Sổ quyền, hợp đồng và điều kiện dùng tài nguyên/AI đã được rà soát. Rights theo asset/holder/territory/locale/format/expiry/evidence | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-41 | Local data form / Sổ quyền | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Quyền theo asset, lãnh thổ, ngôn ngữ, định dạng và thời hạn. Không phát hành asset đang tranh chấp. | Mở sách → F05 → Sổ quyền; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tài sản / nguồn / giọng (bắt buộc); Chủ quyền (bắt buộc); Giấy phép / hợp đồng (bắt buộc); Lãnh thổ (bắt buộc); Ngôn ngữ (bắt buộc); Định dạng / sử dụng được phép (bắt buộc); Hết hạn; Tình trạng (bắt buộc); Phần AI và quyền đưa dữ liệu vào AI (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Quyền theo asset, lãnh thổ, ngôn ngữ, định dạng và thời hạn. Không phát hành asset đang tranh chấp. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-voice-1 | Capability / Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/voice-brief.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/voice-brief.ts |
| cap-voice-2 | Capability / Chép lời audio được phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chép lời audio được phép. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcribe.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/transcribe.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcribe.ts |
| cap-voice-3 | Capability / Tách transcript và speaker | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tách transcript và speaker. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcript.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcript.ts |
| cap-voice-4 | Capability / Chuyển lời nói thành ghi chú | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển lời nói thành ghi chú. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/notes.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/notes.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/notes.ts |
| cap-voice-5 | Capability / Map interview từ giọng nói vào Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Map interview từ giọng nói vào Brief. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/interview-map.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 5 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/interview-map.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |

### F05.2 — Chốt hợp đồng / mốc nghiệm thu

Ghi hợp đồng, mốc nghiệm thu, người chịu trách nhiệm và nghĩa vụ cập nhật.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-37 | Phase step / Chốt hợp đồng / mốc nghiệm thu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ghi quyền sử dụng và trách nhiệm của những người tham gia. | Ghi hợp đồng, mốc nghiệm thu, người chịu trách nhiệm và nghĩa vụ cập nhật. | Thành phần AI / dữ liệu được phép gửi; Đường xuất bản / thị trường / người kiểm tra; Vai trò / thu hồi truy cập / sao lưu | Sổ quyền, hợp đồng và điều kiện dùng tài nguyên/AI đã được rà soát. Contract/milestone/payment/due/status; đăng ký hồ sơ thủ công | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-42 | Local data form / Hợp đồng và mốc bàn giao | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Giữ file nguồn, vòng sửa, nghiệm thu và nghĩa vụ thanh toán. | Mở sách → F05 → Hợp đồng và mốc bàn giao; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Cộng tác viên / hợp đồng (bắt buộc); Phạm vi quyền và công việc (bắt buộc); Mốc và điều kiện nghiệm thu (bắt buộc); Số tiền cam kết (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Ngày đến hạn (bắt buộc); Nguồn hợp đồng (bắt buộc); Trạng thái (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Giữ file nguồn, vòng sửa, nghiệm thu và nghĩa vụ thanh toán. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-enterprise-1 | Capability / Quản trị đội và vai trò tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản trị đội và vai trò tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-roles.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/team-roles.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-roles.ts |
| cap-enterprise-2 | Capability / Hồ sơ white label | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ white label. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/white-label.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/brand-repo.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/white-label.ts |
| cap-enterprise-3 | Capability / Hồ sơ đơn dịch vụ done-for-you | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ đơn dịch vụ done-for-you. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/dfy.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/dfy.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/dfy.ts |
| cap-enterprise-4 | Capability / Điều kiện SSO và SCIM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều kiện SSO và SCIM. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/scim.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 25 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/scim.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/scim.ts |
| cap-enterprise-5 | Capability / Giới hạn ngân sách tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giới hạn ngân sách tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/budget.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/budget.spec.ts, src/lib/enterprise/dfy.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/budget.ts |
| cap-enterprise-6 | Capability / Quản lý seats | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý seats. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-seats.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 1 module thật sự import (src/lib/enterprise/team-roles.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-seats.ts |
| cap-enterprise-7 | Capability / Client portal cho agency | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Client portal cho agency. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/client-portal.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/client-portal.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/client-portal.ts |

### F05.3 — Kiểm quyền dịch, audio và nguồn

Đối chiếu quyền dịch/audio/nguồn theo quốc gia, định dạng và thời hạn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-38 | Phase step / Kiểm quyền dịch, audio và nguồn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ghi quyền sử dụng và trách nhiệm của những người tham gia. | Đối chiếu quyền dịch/audio/nguồn theo quốc gia, định dạng và thời hạn. | Thành phần AI / dữ liệu được phép gửi; Đường xuất bản / thị trường / người kiểm tra; Vai trò / thu hồi truy cập / sao lưu | Sổ quyền, hợp đồng và điều kiện dùng tài nguyên/AI đã được rà soát. Cổng quyền pending/disputed/expired chặn bước nghiệp vụ liên quan | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-41 | Local data form / Sổ quyền | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Quyền theo asset, lãnh thổ, ngôn ngữ, định dạng và thời hạn. Không phát hành asset đang tranh chấp. | Mở sách → F05 → Sổ quyền; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tài sản / nguồn / giọng (bắt buộc); Chủ quyền (bắt buộc); Giấy phép / hợp đồng (bắt buộc); Lãnh thổ (bắt buộc); Ngôn ngữ (bắt buộc); Định dạng / sử dụng được phép (bắt buộc); Hết hạn; Tình trạng (bắt buộc); Phần AI và quyền đưa dữ liệu vào AI (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Quyền theo asset, lãnh thổ, ngôn ngữ, định dạng và thời hạn. Không phát hành asset đang tranh chấp. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-voice-1 | Capability / Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/voice-brief.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/voice-brief.ts |
| cap-voice-2 | Capability / Chép lời audio được phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chép lời audio được phép. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcribe.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/transcribe.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcribe.ts |
| cap-voice-3 | Capability / Tách transcript và speaker | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tách transcript và speaker. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcript.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcript.ts |
| cap-voice-4 | Capability / Chuyển lời nói thành ghi chú | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển lời nói thành ghi chú. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/notes.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/notes.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/notes.ts |
| cap-voice-5 | Capability / Map interview từ giọng nói vào Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Map interview từ giọng nói vào Brief. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/interview-map.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 5 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/interview-map.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |

### F05.4 — Ghi hồ sơ AI và dịch vụ được phép

Ghi chính sách AI, consent và disclosure phù hợp với route dự kiến.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-39 | Phase step / Ghi hồ sơ AI và dịch vụ được phép | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ghi quyền sử dụng và trách nhiệm của những người tham gia. | Ghi chính sách AI, consent và disclosure phù hợp với route dự kiến. | Thành phần AI / dữ liệu được phép gửi; Đường xuất bản / thị trường / người kiểm tra; Vai trò / thu hồi truy cập / sao lưu | Sổ quyền, hợp đồng và điều kiện dùng tài nguyên/AI đã được rà soát. Hồ sơ AI/data policy, provenance, giới hạn dịch vụ | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-voice-1 | Capability / Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/voice-brief.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/voice-brief.ts |
| cap-voice-2 | Capability / Chép lời audio được phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chép lời audio được phép. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcribe.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/transcribe.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcribe.ts |
| cap-voice-3 | Capability / Tách transcript và speaker | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tách transcript và speaker. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcript.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcript.ts |
| cap-voice-4 | Capability / Chuyển lời nói thành ghi chú | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển lời nói thành ghi chú. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/notes.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/notes.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/notes.ts |
| cap-voice-5 | Capability / Map interview từ giọng nói vào Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Map interview từ giọng nói vào Brief. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/interview-map.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 5 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/interview-map.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| cap-setup-1 | Capability / Kiểm hiện diện và loại cấu hình an toàn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm hiện diện và loại cấu hình an toàn. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/config.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/app/api/setup/status/route.ts, src/lib/setup/setup.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/config.ts |
| cap-setup-2 | Capability / Danh sách việc thủ công theo phase và tiêu chí hoàn tất | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh sách việc thủ công theo phase và tiêu chí hoàn tất. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/tasks.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/setup/status/route.ts, src/components/setup/setup-panel.tsx, src/lib/pwa/pwa-setup-check.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/tasks.ts |

### F05.5 — Cấp quyền tối thiểu và kế hoạch sao lưu

Kiểm quyền truy cập, thu hồi và sao lưu; duyệt các thiếu sót trước khi sản xuất.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-40 | Phase step / Cấp quyền tối thiểu và kế hoạch sao lưu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ghi quyền sử dụng và trách nhiệm của những người tham gia. | Kiểm quyền truy cập, thu hồi và sao lưu; duyệt các thiếu sót trước khi sản xuất. | Thành phần AI / dữ liệu được phép gửi; Đường xuất bản / thị trường / người kiểm tra; Vai trò / thu hồi truy cập / sao lưu | Sổ quyền, hợp đồng và điều kiện dùng tài nguyên/AI đã được rà soát. Authz/RLS nền tảng, backup hồ sơ, CAS và lịch sử | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-pwa-1 | Capability / Điều kiện cài app: manifest, icon PNG 192/512 và service worker | Đã xong ✓ đã rà / PWA cài được và có phần offline; chưa phải native app | Điều kiện cài app: manifest, icon PNG 192/512 và service worker. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/books; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | manifest.webmanifest, icon PNG, service worker và trạng thái đăng ký. | Điều kiện cài app (PWA) và trang fallback offline có câu giải thích. Có mã triển khai tại src/lib/pwa/install-readiness.ts. Điều kiện cài app (PWA) và trang fallback offline có câu giải thích. | Còn thiếu phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/pwa/install-readiness.ts; src/lib/pwa/pwa-setup-check.ts; src/app/api/setup/status/route.ts; public/manifest.webmanifest; public/sw.js; public/icons/icon-192.png; public/icons/icon-512.png; public/icons/apple-touch-icon.png; src/app/offline/page.tsx |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| cap-enterprise-1 | Capability / Quản trị đội và vai trò tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản trị đội và vai trò tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-roles.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/team-roles.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-roles.ts |
| cap-enterprise-2 | Capability / Hồ sơ white label | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ white label. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/white-label.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/brand-repo.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/white-label.ts |
| cap-enterprise-3 | Capability / Hồ sơ đơn dịch vụ done-for-you | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ đơn dịch vụ done-for-you. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/dfy.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/dfy.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/dfy.ts |
| cap-enterprise-4 | Capability / Điều kiện SSO và SCIM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều kiện SSO và SCIM. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/scim.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 25 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/scim.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/scim.ts |
| cap-enterprise-5 | Capability / Giới hạn ngân sách tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giới hạn ngân sách tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/budget.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/budget.spec.ts, src/lib/enterprise/dfy.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/budget.ts |
| cap-enterprise-6 | Capability / Quản lý seats | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý seats. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-seats.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 1 module thật sự import (src/lib/enterprise/team-roles.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-seats.ts |
| cap-enterprise-7 | Capability / Client portal cho agency | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Client portal cho agency. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/client-portal.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/client-portal.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/client-portal.ts |
| cap-integrations-1 | Capability / Adapter Google Calendar | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Google Calendar. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/google-calendar.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/google-calendar.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-2 | Capability / Adapter Notion | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Notion. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/notion.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/notion.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-3 | Capability / Adapter Asana | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Asana. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/asana.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/asana.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-4 | Capability / Adapter Linear | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Linear. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/linear.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/linear.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-5 | Capability / Xác minh chữ ký webhook | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác minh chữ ký webhook. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/signing.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/integrations/_lib/slack.ts, src/app/api/integrations/_lib/telegram.ts, src/app/api/integrations/routes.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/signing.ts |
| cap-integrations-6 | Capability / Điều phối webhook integrations | Đang làm ✓ đã rà / WebhookSink có code; không được import ở bất kỳ đâu | Điều phối webhook integrations. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/webhook.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Đo: grep toàn src/ không có import nào của lib/integrations/webhook. Ba route có chữ 'webhook' (Slack, Telegram, Stripe) là webhook RIÊNG, không dùng file này — cần tránh đọc nhầm là đã nối. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/webhook.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-7 | Capability / Lịch cron và check-in | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lịch cron và check-in. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/cron.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 3 module thật sự import (src/inngest/functions/scheduled-recipes.ts, src/lib/integrations/index.ts, src/lib/integrations/integrations.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/cron.ts |
| cap-billing-1 | Capability / Gói dịch vụ và giới hạn tính năng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói dịch vụ và giới hạn tính năng. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/plans.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/checkout/route.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/plans.ts |
| cap-billing-2 | Capability / Kiểm entitlement theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm entitlement theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/entitlements.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/batch/route.ts, src/app/api/v1/books/[id]/generate/route.ts, src/app/app/billing/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/entitlements.ts |
| cap-billing-3 | Capability / Giữ/trừ/hoàn credits cho tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ/trừ/hoàn credits cho tác vụ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/credits.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 15 symbol export; được 9 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/db.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/credits.ts |
| cap-billing-4 | Capability / Stripe Checkout/Portal/Webhook cho dịch vụ app | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Stripe Checkout/Portal/Webhook cho dịch vụ app. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/stripe.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 8 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/per-book-idempotency.spec.ts, src/app/api/stripe/checkout/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/stripe.ts |
| cap-billing-5 | Capability / API keys có scope và thu hồi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | API keys có scope và thu hồi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/api-keys.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 7 module thật sự import (src/components/billing/api-keys-section.tsx, src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/auth.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/api-keys.ts |
| cap-billing-6 | Capability / Hoàn giữ credits khi tác vụ thất bại | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hoàn giữ credits khi tác vụ thất bại. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/unwind.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 2 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/lib/billing/unwind.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/unwind.ts |
| cap-api-auth-1 | Capability / Xác thực phiên đăng nhập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác thực phiên đăng nhập. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/account; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Phiên đăng nhập/API key, tổ chức, scope và hạn mức. | Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. Có mã triển khai tại src/lib/api-auth/session.ts. Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 8 module thật sự import (src/app/api/stripe/checkout/route.ts, src/app/api/stripe/portal/route.ts, src/app/api/v1/brands/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/api-auth/session.ts |
| cap-api-auth-2 | Capability / Xác thực public API key | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác thực public API key. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/account; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Phiên đăng nhập/API key, tổ chức, scope và hạn mức. | Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. Có mã triển khai tại src/lib/api-auth/auth.ts. Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/app/api/sop/orgs/route.ts, src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/db.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/api-auth/auth.ts |
| cap-api-auth-3 | Capability / Chọn và kiểm quyền tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn và kiểm quyền tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/account; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Phiên đăng nhập/API key, tổ chức, scope và hạn mức. | Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. Có mã triển khai tại src/lib/api-auth/org.ts. Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 8 module thật sự import (src/app/api/stripe/checkout/route.ts, src/app/api/stripe/portal/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/api-auth/org.ts |
| cap-api-auth-4 | Capability / Rate limit API | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rate limit API. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/account; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Phiên đăng nhập/API key, tổ chức, scope và hạn mức. | Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. Có mã triển khai tại src/lib/api-auth/rate-limit.ts. Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/index.ts, src/lib/api-auth/request.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/api-auth/rate-limit.ts |
| cap-api-auth-5 | Capability / Tài liệu OpenAPI v1 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tài liệu OpenAPI v1. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/account; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Phiên đăng nhập/API key, tổ chức, scope và hạn mức. | Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. Có mã triển khai tại src/lib/api-auth/openapi.ts. Quyền được kiểm server-side, lỗi chuẩn và OpenAPI. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/v1/books/[id]/export/route.ts, src/app/api/v1/openapi.json/route.ts, src/lib/api-auth/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/api-auth/openapi.ts |
| cap-setup-1 | Capability / Kiểm hiện diện và loại cấu hình an toàn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm hiện diện và loại cấu hình an toàn. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/config.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/app/api/setup/status/route.ts, src/lib/setup/setup.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/config.ts |
| cap-setup-2 | Capability / Danh sách việc thủ công theo phase và tiêu chí hoàn tất | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh sách việc thủ công theo phase và tiêu chí hoàn tất. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/tasks.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/setup/status/route.ts, src/components/setup/setup-panel.tsx, src/lib/pwa/pwa-setup-check.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/tasks.ts |
| cap-authz-1 | Capability / Ma trận quyền vai trò/tài nguyên | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ma trận quyền vai trò/tài nguyên. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/matrix.ts. Kết quả cho phép/từ chối theo ma trận quyền. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/app/admin/page.tsx, src/lib/authz/engine.ts, scripts/engine-conformance.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/matrix.ts |
| cap-authz-2 | Capability / Engine quyết định quyền | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine quyết định quyền. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/engine.ts. Kết quả cho phép/từ chối theo ma trận quyền. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 6 module thật sự import (src/lib/authz/engine-platform.spec.ts, src/lib/authz/engine.spec.ts, src/lib/enterprise/team-roles.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/engine.ts |
| core-15-cloud-sync-ts | Capability / Đồng bộ bản thảo và cảnh báo revision | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Đồng bộ bản thảo và cảnh báo revision | Mở sách hoặc Workspace → F05/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/cloud-sync.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/cloud-sync.ts; docs/TODO.md; src/components/workspace/sync-controls.tsx |
| core-16-sop-cloud-ts | Capability / Chọn tổ chức, lưu/đọc/lịch sử hồ sơ cloud | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chọn tổ chức, lưu/đọc/lịch sử hồ sơ cloud | Mở sách hoặc Workspace → F05 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/cloud.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Hồ sơ TODO E1 ghi 14/14 kiểm cloud; không đồng nghĩa dossier sản xuất F01–F06 đã qua gate. | src/lib/sop/cloud.ts; docs/TODO.md |
| core-17-sop-comparison-ts | Capability / So sánh hồ sơ cloud và phiên bản trước | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | So sánh hồ sơ cloud và phiên bản trước | Mở sách hoặc Workspace → F05 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/comparison.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/comparison.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-137 | Collaboration Suite | Đang làm | SOP cloud owner/admin, lịch sử có tài khoản/thời gian, đối chiếu dữ liệu, sao lưu trước khôi phục; phục vụ toàn bộ F01–F14 | Cộng tác bản thảo thời gian thực, comments/approval/merge chưa nối đầy đủ vào dữ liệu thật; còn kiểm cloud bằng phiên người dùng hợp lệ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-139 | AI Voice Cloning | Đang làm | `audio/voices.ts` clone entry, capability flags | Gộp #6; thêm provider enrollment, consent, upload/sample/lifecycle Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-140 | Real-time Collaboration | Đang làm | `collab/oplog.ts`, transport seam | Gộp #17; thêm CRDT, network transport, presence, CAS/version checks |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-151 | Blockchain & NFT | Chưa làm | Provenance certificate có sẵn, chưa thấy blockchain/NFT | Gộp #12; hoãn. Nếu cần trước, dùng chứng nhận hash/version hiện có Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-170 | Rights/contracts/data permissions/policy registry | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F05 asset scope/expiry/evidence; disputed rights chặn; dữ liệu chỉ tới AI được duyệt |
| legacy-185 | CRDT/offline/chapter permissions, agency production | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Reconnect converge, server perms/tenant boundary; portal dùng contracts hiện có |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-8 | Báo cáo và sao lưu hồ sơ SOP | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/cloud-controls.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-16 | Đăng nhập magic link/mật khẩu | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/login/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-17 | Tài khoản và đăng xuất | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/account/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-18 | Trang Billing, credits, plan và khóa BYOK | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/billing/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-19 | Trang quản trị ứng dụng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/admin/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-21 | Trang thiết lập và danh sách việc cần làm tay | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/setup/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-25 | Yêu cầu email khôi phục mật khẩu | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/forgot-password/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-26 | Đặt lại mật khẩu trong phiên khôi phục | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/reset-password/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F06 — Kiến trúc và chương mẫu

Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo.


### F06.1 — Nối lời hứa với chương

Gắn mã chương/block vào sổ lời hứa F03; xem kiểm liên kết tại tổng quan F06.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-43 | Phase step / Nối lời hứa với chương | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo. | Gắn mã chương/block vào sổ lời hứa F03; xem kiểm liên kết tại tổng quan F06. | Lời hứa → mã chương / nội dung; Nguồn / phần cần chuyên gia; Glossary, giọng và cách dẫn nguồn | Dàn ý có liên kết lời hứa, chương mẫu và ghi nhận thử người dùng. Kiểm lời hứa sách chính với mã nhu cầu/chương/block; mã đã xóa hoặc thiếu được cảnh báo | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-outline-1 | Capability / Tạo dàn ý AI từ Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo dàn ý AI từ Brief. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/generate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 5 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/outline/route.ts, src/app/api/v1/books/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/generate.ts |
| cap-outline-2 | Capability / Kiểm dàn ý theo blueprint và yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm dàn ý theo blueprint và yêu cầu. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/validate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 8 module thật sự import (src/components/studio/blueprint-catalogue.spec.ts, src/components/studio/real-ports.ts, src/lib/outline/generate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/validate.ts |
| cap-outline-3 | Capability / Sửa, sắp thứ tự, khóa và duyệt node | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sửa, sắp thứ tự, khóa và duyệt node. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/ops.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 9 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/v1/books/[id]/approve-outline/route.ts, src/components/studio/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/ops.ts |
| cap-outline-4 | Capability / Nhập dàn ý và Brief từ Excel | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nhập dàn ý và Brief từ Excel. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/import-xlsx.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 4 module thật sự import (src/app/app/batch/new/sources.tsx, src/components/batch/ports.ts, src/components/batch/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/import-xlsx.ts |
| core-20-sop-promise-coverage-ts | Capability / Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Mở sách hoặc Workspace → F03/F06/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/promise-coverage.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/promise-coverage.ts; docs/TODO.md |

### F06.2 — Dàn ý theo genre và dependency

Dùng Outline để sắp chương theo genre và điều kiện cần trước.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-44 | Phase step / Dàn ý theo genre và dependency | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo. | Dùng Outline để sắp chương theo genre và điều kiện cần trước. | Lời hứa → mã chương / nội dung; Nguồn / phần cần chuyên gia; Glossary, giọng và cách dẫn nguồn | Dàn ý có liên kết lời hứa, chương mẫu và ghi nhận thử người dùng. Outline editor, dependency và blueprint theo genre; scene/beat đo từ văn bản sách | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |
| cap-outline-1 | Capability / Tạo dàn ý AI từ Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo dàn ý AI từ Brief. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/generate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 5 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/outline/route.ts, src/app/api/v1/books/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/generate.ts |
| cap-outline-2 | Capability / Kiểm dàn ý theo blueprint và yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm dàn ý theo blueprint và yêu cầu. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/validate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 8 module thật sự import (src/components/studio/blueprint-catalogue.spec.ts, src/components/studio/real-ports.ts, src/lib/outline/generate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/validate.ts |
| cap-outline-3 | Capability / Sửa, sắp thứ tự, khóa và duyệt node | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sửa, sắp thứ tự, khóa và duyệt node. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/ops.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 9 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/v1/books/[id]/approve-outline/route.ts, src/components/studio/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/ops.ts |
| cap-outline-4 | Capability / Nhập dàn ý và Brief từ Excel | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nhập dàn ý và Brief từ Excel. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/import-xlsx.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 4 module thật sự import (src/app/app/batch/new/sources.tsx, src/components/batch/ports.ts, src/components/batch/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/import-xlsx.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F06.3 — Gắn nguồn, glossary và content IDs

Dùng References/Bible để gắn nguồn, thuật ngữ và quy tắc nội dung.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-45 | Phase step / Gắn nguồn, glossary và content IDs | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo. | Dùng References/Bible để gắn nguồn, thuật ngữ và quy tắc nội dung. | Lời hứa → mã chương / nội dung; Nguồn / phần cần chuyên gia; Glossary, giọng và cách dẫn nguồn | Dàn ý có liên kết lời hứa, chương mẫu và ghi nhận thử người dùng. References, glossary/Bible, mã chương/block ổn định | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-outline-1 | Capability / Tạo dàn ý AI từ Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo dàn ý AI từ Brief. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/generate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 5 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/outline/route.ts, src/app/api/v1/books/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/generate.ts |
| cap-outline-2 | Capability / Kiểm dàn ý theo blueprint và yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm dàn ý theo blueprint và yêu cầu. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/validate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 8 module thật sự import (src/components/studio/blueprint-catalogue.spec.ts, src/components/studio/real-ports.ts, src/lib/outline/generate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/validate.ts |
| cap-outline-3 | Capability / Sửa, sắp thứ tự, khóa và duyệt node | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sửa, sắp thứ tự, khóa và duyệt node. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/ops.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 9 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/v1/books/[id]/approve-outline/route.ts, src/components/studio/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/ops.ts |
| cap-outline-4 | Capability / Nhập dàn ý và Brief từ Excel | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nhập dàn ý và Brief từ Excel. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/import-xlsx.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 4 module thật sự import (src/app/app/batch/new/sources.tsx, src/components/batch/ports.ts, src/components/batch/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/import-xlsx.ts |
| cap-bible-1 | Capability / Trích entity từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích entity từ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/extract.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/extract.ts |
| cap-bible-2 | Capability / Hợp nhất entity và phát hiện xung đột | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hợp nhất entity và phát hiện xung đột. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/merge.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/handoff.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/merge.ts |
| cap-bible-3 | Capability / Rút gọn canon và hướng dẫn sử dụng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rút gọn canon và hướng dẫn sử dụng. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/compact.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/drift-judge.ts, src/lib/bible/extract.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/compact.ts |
| cap-bible-4 | Capability / Tra cứu canon theo thời điểm tránh tiết lộ tương lai | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tra cứu canon theo thời điểm tránh tiết lộ tương lai. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/temporal.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/components/studio/bible-temporal-panel.tsx, src/lib/bible/bible.spec.ts, src/lib/bible/temporal.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/temporal.ts |
| cap-knowledge-1 | Capability / Lưu và truy xuất tri thức phục vụ bản thảo | Đã xong ✓ đã rà / Nhật ký quyết định đã nối vào cổng feasibility (đọc quyết định cũ vào prompt, ghi verdict sau khi luật quy tắc chạy) | Lưu và truy xuất tri thức phục vụ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Nguồn tri thức, entity/quan hệ và context chương. | Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. Có mã triển khai tại src/lib/knowledge/index.ts. Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. | Cổng feasibility đã thật sự gọi, cả hai chiều. Còn nằm ở phạm vi khác: 3 cổng quyết định sau (plan approval, review merge, batch go/no-go) chưa nối; `generation/engine.ts` vẫn khai `decisionsBrief` mà không chỗ nào điền — đường đọc cho engine vẫn chưa có nguồn. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/knowledge/index.ts; src/lib/knowledge/decision-log.ts; src/lib/knowledge/decision-log.spec.ts; src/lib/plan/feasibility-decisions.ts; src/lib/plan/feasibility-decisions.spec.ts; src/lib/plan/feasibility.ts; src/app/api/plan/feasibility/route.ts |
| core-3-parse-docx-ts | Capability / Nhập bản thảo DOCX và báo các phần không hỗ trợ | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Nhập bản thảo DOCX và báo các phần không hỗ trợ | Mở sách hoặc Workspace → F06/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/parse-docx.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/parse-docx.ts; docs/TODO.md |

### F06.4 — Tạo chương / công cụ mẫu

Tạo chương mẫu sau khi hồ sơ đầu tư đủ điều kiện; lưu mẫu và phiên bản.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-46 | Phase step / Tạo chương / công cụ mẫu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo. | Tạo chương mẫu sau khi hồ sơ đầu tư đủ điều kiện; lưu mẫu và phiên bản. | Lời hứa → mã chương / nội dung; Nguồn / phần cần chuyên gia; Glossary, giọng và cách dẫn nguồn | Dàn ý có liên kết lời hứa, chương mẫu và ghi nhận thử người dùng. Sinh một chương mẫu riêng + form chapter/tool/translation/audio sample | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-48 | Local data form / Chương / công cụ / bản dịch / audio mẫu | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Thử mẫu trước khi nhân rộng; nối phiên bản mẫu và nhiệm vụ độc giả. | Mở sách → F06 → Chương / công cụ / bản dịch / audio mẫu; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tên mẫu (bắt buộc); Loại (bắt buộc); Mã nội dung hoặc nguồn mẫu (bắt buộc); Phiên bản (bắt buộc); Locale (bắt buộc); Nhiệm vụ / cách thử (bắt buộc); Người kiểm định (bắt buộc); Nghiệm thu (bắt buộc); Bằng chứng hiểu / làm được hoặc lỗi (bắt buộc); Nội dung mẫu; Mô hình tạo mẫu; Loại bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Thử mẫu trước khi nhân rộng; nối phiên bản mẫu và nhiệm vụ độc giả. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-blueprints-1 | Capability / Phỏng vấn tạo Brief và xuất Brief Card | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo Brief và xuất Brief Card. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 26 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/brief.ts |
| cap-blueprints-2 | Capability / Kiểm cấu trúc blueprint và các phần bắt buộc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc blueprint và các phần bắt buộc. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/schema.ts. Brief Card và cấu trúc chương với required elements của thể loại. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 39 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/schema.ts |
| cap-blueprints-3 | Capability / Điều chỉnh Brief phù hợp loại sách trước generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh Brief phù hợp loại sách trước generation. Xác định độc giả, mục tiêu và phạm vi sách. | Mở brief, rà câu trả lời và lưu; hoàn thiện hồ sơ F01 trước duyệt đầu tư. | Loại sách, câu trả lời phỏng vấn, độc giả, lời hứa, ngôn ngữ và quy mô. | Brief Card và cấu trúc chương với required elements của thể loại. Có mã triển khai tại src/lib/blueprints/fit-brief.ts. Brief Card và cấu trúc chương với required elements của thể loại. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 24 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/app/api/gen/outline/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/blueprints/fit-brief.ts |
| cap-outline-1 | Capability / Tạo dàn ý AI từ Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo dàn ý AI từ Brief. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/generate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 5 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/outline/route.ts, src/app/api/v1/books/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/generate.ts |
| cap-outline-2 | Capability / Kiểm dàn ý theo blueprint và yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm dàn ý theo blueprint và yêu cầu. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/validate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 8 module thật sự import (src/components/studio/blueprint-catalogue.spec.ts, src/components/studio/real-ports.ts, src/lib/outline/generate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/validate.ts |
| cap-outline-3 | Capability / Sửa, sắp thứ tự, khóa và duyệt node | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sửa, sắp thứ tự, khóa và duyệt node. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/ops.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 9 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/v1/books/[id]/approve-outline/route.ts, src/components/studio/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/ops.ts |
| cap-outline-4 | Capability / Nhập dàn ý và Brief từ Excel | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nhập dàn ý và Brief từ Excel. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/import-xlsx.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 4 module thật sự import (src/app/app/batch/new/sources.tsx, src/components/batch/ports.ts, src/components/batch/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/import-xlsx.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |
| cap-illustration-1 | Capability / Render minh họa và bảo toàn bằng chứng artifact | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render minh họa và bảo toàn bằng chứng artifact. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Mô tả minh họa, Visual Bible, scene, quyền và provider ảnh. | Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. Có mã triển khai tại src/lib/illustration/render.ts. Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 3 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/illustration/index.ts, src/lib/illustration/render.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/illustration/render.ts |
| cap-eval-1 | Capability / Rubric chấm prompt và output | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rubric chấm prompt và output. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/rubric.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.ts, src/lib/eval/benchmark.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/rubric.ts |
| cap-eval-2 | Capability / Prompt packs theo tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt packs theo tác vụ. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/prompt-packs.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/ab.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/prompt-packs.ts |
| cap-eval-3 | Capability / Benchmark nhiều prompt/model | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Benchmark nhiều prompt/model. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/benchmark.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/benchmark.spec.ts, src/lib/eval/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/benchmark.ts |
| cap-eval-4 | Capability / So sánh A/B và thống kê | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh A/B và thống kê. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/ab.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 6 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/fixtures.spec-helpers.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/ab.ts |
| cap-eval-5 | Capability / Replay một lần chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Replay một lần chạy. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/replay.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/replay.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/replay.ts |
| cap-eval-6 | Capability / Theo dõi xu hướng chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi xu hướng chất lượng. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/trends.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/trends.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/trends.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F06.5 — Thử người dùng rồi duyệt nhân rộng

Ghi người thử, kết quả, lỗi và người chấp nhận mẫu rồi mới duyệt nhân rộng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-47 | Phase step / Thử người dùng rồi duyệt nhân rộng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Thử cấu trúc và một mẫu nhỏ trước khi nhân rộng bản thảo. | Ghi người thử, kết quả, lỗi và người chấp nhận mẫu rồi mới duyệt nhân rộng. | Lời hứa → mã chương / nội dung; Nguồn / phần cần chuyên gia; Glossary, giọng và cách dẫn nguồn | Dàn ý có liên kết lời hứa, chương mẫu và ghi nhận thử người dùng. Protocol/reviewer/result/sample version; chưa nghiệm thu không mở full-book | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-48 | Local data form / Chương / công cụ / bản dịch / audio mẫu | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Thử mẫu trước khi nhân rộng; nối phiên bản mẫu và nhiệm vụ độc giả. | Mở sách → F06 → Chương / công cụ / bản dịch / audio mẫu; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tên mẫu (bắt buộc); Loại (bắt buộc); Mã nội dung hoặc nguồn mẫu (bắt buộc); Phiên bản (bắt buộc); Locale (bắt buộc); Nhiệm vụ / cách thử (bắt buộc); Người kiểm định (bắt buộc); Nghiệm thu (bắt buộc); Bằng chứng hiểu / làm được hoặc lỗi (bắt buộc); Nội dung mẫu; Mô hình tạo mẫu; Loại bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Thử mẫu trước khi nhân rộng; nối phiên bản mẫu và nhiệm vụ độc giả. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |
| cap-eval-1 | Capability / Rubric chấm prompt và output | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rubric chấm prompt và output. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/rubric.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.ts, src/lib/eval/benchmark.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/rubric.ts |
| cap-eval-2 | Capability / Prompt packs theo tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt packs theo tác vụ. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/prompt-packs.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/ab.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/prompt-packs.ts |
| cap-eval-3 | Capability / Benchmark nhiều prompt/model | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Benchmark nhiều prompt/model. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/benchmark.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/benchmark.spec.ts, src/lib/eval/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/benchmark.ts |
| cap-eval-4 | Capability / So sánh A/B và thống kê | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh A/B và thống kê. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/ab.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 6 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/fixtures.spec-helpers.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/ab.ts |
| cap-eval-5 | Capability / Replay một lần chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Replay một lần chạy. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/replay.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/replay.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/replay.ts |
| cap-eval-6 | Capability / Theo dõi xu hướng chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi xu hướng chất lượng. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/trends.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/trends.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/trends.ts |
| cap-debate-1 | Capability / Quản lý persona người đánh giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý persona người đánh giá. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/personas.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 20 module thật sự import (src/app/api/review/session/route.ts, src/components/studio/persona-editor.tsx, src/components/studio/real-review-ports.mapping.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/personas.ts |
| cap-debate-2 | Capability / Chạy phiên đánh giá nhiều vai trò | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy phiên đánh giá nhiều vai trò. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-runner.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-runner.ts |
| cap-debate-3 | Capability / Tổng hợp đánh giá và điểm bất đồng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp đánh giá và điểm bất đồng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/synthesize.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/debate/index.ts, src/lib/debate/session-phases.ts, src/lib/debate/synthesize.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/synthesize.ts |
| cap-debate-4 | Capability / Consensus và điều kiện dừng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Consensus và điều kiện dừng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/consensus.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/debate/consensus.spec.ts, src/lib/debate/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/consensus.ts |
| cap-debate-5 | Capability / So A/B trong phiên review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So A/B trong phiên review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-ab.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 2 module thật sự import (src/lib/debate/session-runner.ts, src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-ab.ts |
| cap-debate-6 | Capability / Ước tính chi phí review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/estimate.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/estimate.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| core-24-sop-generation-gate-ts | Capability / Chặn sản xuất toàn bộ trước duyệt đầu tư/chương mẫu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chặn sản xuất toàn bộ trước duyệt đầu tư/chương mẫu | Mở sách hoặc Workspace → F06/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/generation-gate.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/generation-gate.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-121 | AI Writing, 4-tier context | Đang làm | `generation/context-pack.ts`, `long-horizon.ts`, `ai/` | Nâng cấp context theo scene và chapter dependency; không xây engine thứ hai |
| legacy-122 | Codex / Story Bible | Đang làm | `bible/`, `gen/types.ts` | Giữ extraction/canon/glossary; thêm temporal states và timeline UI Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-129 | Niche Book Generators | Đang làm | `blueprints/`, `batch/`, `marketplace/` | Mở rộng blueprint có nhu cầu và rubric; chưa coi đủ 18+ loại |
| legacy-134 | Content Repurposing | Đang làm | `refs/`, `publish/translate.ts` remix, course, formats, `podcast/` | Giữ đầu ra; nối source-to-book recipes, thêm transcript/OCR khi cần Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-136 | Free Tools Suite | Chưa làm | Hàm bible/metadata/cover/pricing có thể tái sử dụng | Chưa có hub 25+ tools; chọn vài tool hữu ích, không nhân bản logic Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-143 | Illustration Consistency | Đang làm | `cover/visual-bible.ts` | Gộp #4; reference sheet + conditioning + QC/retry còn thiếu Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-147 | Series Universe Manager | Đang làm | `bible/series.ts`, `sales/series-planner.ts`, `market/reading-order.ts` | Gộp #2; nâng versioned canon, override review và propagation Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-157 | Handoffs F01–F14 và quyết định/authorized spend | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Actor/evidence/version/decision/revisit; thiếu hồ sơ không mở thao tác phụ thuộc |
| legacy-166 | F06 sample generation/tool và human sample acceptance | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Thử mẫu trong research budget trước full generation; result quay lại F02/F03 |
| legacy-167 | Product/SKU/offer và promise coverage | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F03 từng promise dẫn content/need; core book đủ giá trị; support capacity |
| legacy-175 | Quick Start/chat/Sensory/selection proposals | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Quick Start tạo investment/sample proposal; chat có refs, không bypass F02/F04/F06 |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-1 | Tạo sách bằng phỏng vấn và chọn blueprint | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/books/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-3 | Lưu sách và các bản nháp trong IndexedDB | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/books-store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-10 | Nhập bản thảo và xem báo cáo parser | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/report-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-13 | Dự án Workspace và lưu cục bộ | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-15 | Wizard thiết lập lô sản xuất | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/batch/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F07 — Bản thảo và công cụ mẫu

Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo.


### F07.1 — Giao chapter briefs

Ghi brief và tiêu chí nghiệm thu từng chương trong sổ bàn giao.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-49 | Phase step / Giao chapter briefs | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Ghi brief và tiêu chí nghiệm thu từng chương trong sổ bàn giao. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. Chapter brief/dependency/context pack | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-55 | Local data form / Nghiệm thu cụm chương | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Mở sách → F07 → Nghiệm thu cụm chương; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã chương / công cụ (bắt buộc); Phiên bản (bắt buộc); Người thực hiện (bắt buộc); Ngày giao (bắt buộc); Nguồn và phần chờ xác minh (bắt buộc); Trạng thái (bắt buộc); Người nghiệm thu (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-outline-1 | Capability / Tạo dàn ý AI từ Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo dàn ý AI từ Brief. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/generate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 5 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/outline/route.ts, src/app/api/v1/books/route.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/generate.ts |
| cap-outline-2 | Capability / Kiểm dàn ý theo blueprint và yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm dàn ý theo blueprint và yêu cầu. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/validate.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 8 module thật sự import (src/components/studio/blueprint-catalogue.spec.ts, src/components/studio/real-ports.ts, src/lib/outline/generate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/validate.ts |
| cap-outline-3 | Capability / Sửa, sắp thứ tự, khóa và duyệt node | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sửa, sắp thứ tự, khóa và duyệt node. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/ops.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 9 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/v1/books/[id]/approve-outline/route.ts, src/components/studio/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/ops.ts |
| cap-outline-4 | Capability / Nhập dàn ý và Brief từ Excel | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nhập dàn ý và Brief từ Excel. Sắp chương theo nhiệm vụ và thứ tự cần thiết. | Rà từng node, sửa thứ tự/nội dung, duyệt dàn ý rồi gắn mã chương vào sổ lời hứa. | Brief, blueprint hoặc workbook XLSX với cấu trúc chương. | Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. Có mã triển khai tại src/lib/outline/import-xlsx.ts. Dàn ý có node ID, cảnh báo cấu trúc, phiên bản và trạng thái duyệt. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 4 module thật sự import (src/app/app/batch/new/sources.tsx, src/components/batch/ports.ts, src/components/batch/real-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/outline/import-xlsx.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-authz-1 | Capability / Ma trận quyền vai trò/tài nguyên | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ma trận quyền vai trò/tài nguyên. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/matrix.ts. Kết quả cho phép/từ chối theo ma trận quyền. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/app/admin/page.tsx, src/lib/authz/engine.ts, scripts/engine-conformance.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/matrix.ts |
| cap-authz-2 | Capability / Engine quyết định quyền | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine quyết định quyền. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/engine.ts. Kết quả cho phép/từ chối theo ma trận quyền. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 6 module thật sự import (src/lib/authz/engine-platform.spec.ts, src/lib/authz/engine.spec.ts, src/lib/enterprise/team-roles.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/engine.ts |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F07.2 — Viết phần đủ nguồn

Dùng Drafts để viết phần đủ nguồn; đánh dấu phần chưa kiểm thay vì đoán.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-50 | Phase step / Viết phần đủ nguồn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Dùng Drafts để viết phần đủ nguồn; đánh dấu phần chưa kiểm thay vì đoán. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. Generation engine, stream, DAG/Inngest, resume và model router | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| core-3-parse-docx-ts | Capability / Nhập bản thảo DOCX và báo các phần không hỗ trợ | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Nhập bản thảo DOCX và báo các phần không hỗ trợ | Mở sách hoặc Workspace → F06/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/parse-docx.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/parse-docx.ts; docs/TODO.md |
| core-4-find-replace-ts | Capability / Tìm và thay thế trong bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Tìm và thay thế trong bản thảo | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/find-replace.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/find-replace.ts; docs/TODO.md |
| core-24-sop-generation-gate-ts | Capability / Chặn sản xuất toàn bộ trước duyệt đầu tư/chương mẫu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chặn sản xuất toàn bộ trước duyệt đầu tư/chương mẫu | Mở sách hoặc Workspace → F06/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/generation-gate.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/generation-gate.ts; docs/TODO.md |
| blueprint-zero_to_hero_howto | Blueprint / Loại sách: Zero to Hero How-To (Complete edition) | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | For-Dummies-style step-by-step guide for absolute beginners: First Win in 45 minutes, Minimum Viable Knowledge, 10–16 Missions each ending in an artifact, 4–6 Real-World Projects, Battle Testing fix matrix, Hero Status self-check and three Hero's Tens. 7.375×9.25 in, 320–440 pages. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, action_steps, tip_box, warning_box, worked_example, checklist | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/zero_to_hero_howto.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-workbook | Blueprint / Loại sách: Workbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Write-in companion of 10–20 sessions; each session is 30–60 minutes of guided exercises with a filled-in worked example, a checklist and reflection prompts. Teach ≤35%, Do ≥50%, Reflect ≤15%. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, worked_example, checklist, reflection_prompt, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/workbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-study_guide | Blueprint / Loại sách: Study Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Exam or course companion mapped to the official domains: diagnostic test and study calendar up front, one chapter per domain (objectives → content with worked examples → traps → practice set with explanations → quick review), two full practice tests and a last-48-hours cheat sheet. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. quiz, worked_example, key_takeaways, glossary_terms, chapter_summary, warning_box | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/study_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-business_playbook | Blueprint / Loại sách: Business Playbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Operator's manual in three parts: the operating model and scorecard, one repeatable Play per chapter (trigger, owner, steps, templates, definition of done, metric), and the cadence/rollout/fix-it chapters. Every chapter has a case study, checklist, action steps and the expensive-mistake warning. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, case_study, checklist, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/business_playbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-self_help | Blueprint / Loại sách: Self-Help | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Behaviour-change book in three movements (See it / Change it / Keep it). One idea per chapter, each with an opening scene, a model, a this-week practice, a worked example, reflection prompts and three takeaways. Non-clinical, evidence-honest. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, action_steps, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/self_help.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-cookbook | Blueprint / Loại sách: Cookbook | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Technique-first cookbook: pantry and equipment chapter, then chapters of 4–8 recipe cards sharing a technique or occasion (lesson → cards with metric/US, allergens, fix-it, variations → shopping-list checklist), closing with menus built only from the book. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. recipe_card, tip_box, warning_box, checklist, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/cookbook.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-lead_magnet | Blueprint / Loại sách: Lead Magnet | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Short giveaway ebook (3k–12k words): one promise, one quick win in step-by-step chapters each with a fill-in template/checklist, worked example and tip, a common-mistakes chapter and a soft 'your next step' close. Designed to be read in one sitting on a phone. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, tip_box, worked_example, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/lead_magnet.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-case_study_book | Blueprint / Loại sách: Case Study Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A thesis argued through 8–16 cases analysed with one fixed lens (situation → decision → outcome → analysis → transferable lesson → action steps), with synthesis chapters comparing cases and a closing 'your own case' template. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, worked_example, action_steps, warning_box, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/case_study_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-checklist_book | Blueprint / Loại sách: Checklist Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 1–4 checklists per chapter, organised by phase or situation: trigger, time, owner, ☐/◇/○ items that are atomic and verifiable, the three most-skipped items flagged, a tip, the costliest-omission warning, a filled worked example and takeaways. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. checklist, tip_box, warning_box, worked_example, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/checklist_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-thirty_day_challenge | Blueprint / Loại sách: 30-Day Challenge | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day 0 setup plus thirty daily chapters (500–1,500 words) each with one timed task, a tip, a tracker line, a reflection question and a short summary; weekly review days on 7/14/21/28 and a Day 30 finale that re-runs the baseline. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, tip_box, reflection_prompt, checklist, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/thirty_day_challenge.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-faq_book | Blueprint / Loại sách: FAQ Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Reference of 8–20 theme chapters, each answering 8–20 real reader questions (short answer → full answer → it-depends branches → do this next) with the question nobody asks, the costliest wrong answer, glossary terms and takeaways; question index for dipping in. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. faq, tip_box, warning_box, glossary_terms, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/faq_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-interview_book | Blueprint / Loại sách: Interview Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Curated, edited conversations (8–20) with a shared question set and a through-line: introduction → themed Q&A from real transcripts → editor's reflection → takeaways, try-this steps and a reflection prompt; synthesis chapters compare answers; no fabricated quotes. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. case_study, key_takeaways, action_steps, reflection_prompt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/interview_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-health_wellness | Blueprint / Loại sách: Health & Wellness | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Evidence-led everyday health book in six parts (baselines, nutrition, movement, sleep, mind, integration). Every chapter grades its evidence, states its measurement units and limits, ships a checklist and exercise, and carries a warning box of stop signs plus a 'when to see a clinician' boundary — no diagnosis, no prescribing, no outcome promises, every clinical number tagged [VERIFY]. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, warning_box, tip_box, exercise | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/health_wellness.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-finance_money | Blueprint / Loại sách: Finance & Money | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Personal finance book in seven parts (money literacy, budgeting, saving, debt, income, investing, a 90-day plan). Every chapter separates revenue from profit from cash from balance, works examples a reader can redo with a calculator, marks illustrative figures [illustrative], ships a checklist, steps and a warning box, and states which situations the advice is wrong for. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, checklist, worked_example, warning_box, action_steps | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/finance_money.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-travel_guide | Blueprint / Loại sách: Travel Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Itinerary-shaped travel guide: a before-you-go section, one chapter per leg of a real day-by-day route with hour-by-hour days, food guidance, tiered budget tables with stated assumptions, a bad-weather fallback, a what-to-skip list and an on-the-ground FAQ, closing with a reprintable route card. Every volatile fact is sourced with a checked date or marked [VERIFY]; nothing is invented. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, tip_box, faq, key_takeaways, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/travel_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-devotional | Blueprint / Loại sách: Devotional | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Day-by-day devotional (7–366 days): one short reading, 2–4 reflection questions and one concrete practice per day, planned as a run with a real arc instead of unrelated days. Works for faith traditions and secular practices (contemplative, Stoic, twelve-step, nature). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. reflection_prompt, checklist, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/devotional.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-memoir | Blueprint / Loại sách: Memoir | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | First-person memoir built on a verified Story Bible: chronological or thematic chapters, each with a timeline block, a confirmed/uncertain ledger, at least one confirmed ordinary detail, a turning point that separates what the author believed then from what they believe now, a reflection prompt and a glossary of names and terms — closing on an unresolved, open ending. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt, glossary_terms | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/memoir.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-technical_guide | Blueprint / Loại sách: Technical Guide | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Engineering handbook / SOP / runbook (6k–90k words): each chapter is one runnable procedure with prerequisites, exact commands, a verification step, a rollback note and a warning about the mistake that bites people. Includes reference and troubleshooting chapters. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. action_steps, checklist, warning_box, worked_example, tip_box, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/technical_guide.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fiction | Blueprint / Loại sách: Fiction & Storytelling | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Novel, novella or short-story collection planned on a real beat sheet: a logline, a protagonist who wants one thing and needs another, an antagonist applying steady pressure, a per-chapter POV plan (one head per chapter, tense fixed), a resolved timeline and a research list — with mystery clues planted before the reveal, speculative rules anchored to the real world, and chapters that end on a question instead of a summary. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-romance | Blueprint / Loại sách: Romance | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A romance novel planned on the real arc — the meet, escalating attraction with costs, the midpoint commitment, a black moment caused by the protagonists' own choices, the separate reckoning and an explicitly negotiated HEA — with dual-POV alternation, explicit on-page consent, a contracted heat level, and period or power rules fixed before drafting. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, continuity_note, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/romance.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-kids_story | Blueprint / Loại sách: Kids Story | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A gentle children's story locked to one age band (read-aloud 3–5, early reader 5–7, or chapter book 7–9): short chapters inside a sentence cap and a vocabulary ceiling, a planned repetition map a child can join in on, one small trouble per chapter that the child protagonist decides and acts on, every frightening moment resolved within the chapter or the one after it, a glossary for every word above the ceiling, and a last line that is an image rather than a moral. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, glossary_terms, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/kids_story.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-fanfiction | Blueprint / Loại sách: Fanfiction | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Fan-inspired or alternate-universe fiction planned under a transformative-use boundary: a canon ledger (relied on / changed / added) with numbered divergences printed at the front, every chapter written to add new plot rather than re-enact canon, canon text and canon dialogue never reproduced, a per-chapter continuity note so the divergent universe cannot silently contradict itself, and a stated canon prerequisite or a cold-start-readable text. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. continuity_note, dialogue_excerpt, scene_beats, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/fanfiction.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-comedy | Blueprint / Loại sách: Comedy | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A funny, absurd or slapstick story built as one escalating arc on a single stated rule: every beat is a consequence of the one before it, plotted as a visible escalation ladder from setup to consequence with dignity as the only thing lost. No joke explained afterwards, no character laughing at the joke, no ending pun — and no humour built from harassment, slurs, disability, protected-group jokes or real tragedies. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. scene_beats, dialogue_excerpt, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/comedy.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-true_crime | Blueprint / Loại sách: True Crime | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Real cases written from the public record — solved, cold and never solved — each planned as a timeline spine (first report → investigation → key evidentiary moment → what is still open), with the evidence actually used, the competing hypotheses including 'no longer solvable', and the contemporary view of what the reader could not know at the time. Every claim carries its source or is tagged [VERIFY]; unresolved cases stay unresolved. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, glossary_terms, faq | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/true_crime.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-poetry | Blueprint / Loại sách: Poetry | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Verse collections and prose poems built on the author's own voice: every poem's form (free verse, sonnet, villanelle, prose poem, found) and governing image is stated in the plan, line breaks and enjambment are treated as meaning, and the collection carries a stated arc and ordering rationale rather than a random pile. Poems are never written, paraphrased or explained by the manuscript, and no poem narrates another real person's trauma or attacks a named person. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. chapter_summary, key_takeaways, reflection_prompt | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/poetry.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-picture_book | Blueprint / Loại sách: Picture Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Illustrated storybook of 8–24 spreads with exactly one planned picture per spread, 40–120 words of text on the facing page, a registered cast in the Visual Bible so the same characters repeat, and a hard child-safety floor (no unresolved threat, no weapons or gore, no brands or real places). | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/picture_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-coloring_book | Blueprint / Loại sách: Coloring Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | Printable line-art book of 20–60 pages on one theme: closed outlines only, large enclosed areas, no shading or grey fill, thick uniform strokes and real margins, with a how-to-use page at the front, a theme index at the back and a printing note for the adult. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/coloring_book.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-abc_counting | Blueprint / Loại sách: ABC & Counting Book | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | One letter or one number per page: 26 A–Z spreads, 1–20 counting spreads, or both. Each page carries one dominant visual, minimal page text, the letterform set in page type, and a hard counting rule that the printed number always equals the number of objects drawn. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. image_placement, chapter_summary | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối; loại này cần provider ảnh và kiểm file. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/abc_counting.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |
| blueprint-journal_mixed | Blueprint / Loại sách: Journal, Planner & Mixed-Media | Đã xong ✓ đã rà / Loại sách có trong trình tạo sách; danh mục sinh từ thư viện nên không lệch; định nghĩa hợp lệ theo schema, có phỏng vấn riêng và QA rule đã kiểm | A mixed layout toolkit rather than a single genre: the interview picks a layout family (daily journal, gratitude and reflection, project planner, reading log, travel journal, growth workbook or unstructured free journal) and every chapter is one repeatable spread carrying a prompt, blank fields, deliberate space and a stated variation from the last spread. No invented entries — prompts and space, with at most one [example]-marked worked example — plus a 'how to skip a day' note, because real journals get abandoned. | Mở Sách → Tạo sách → chọn loại sách này → trả lời phỏng vấn → kiểm Brief → tạo/duyệt dàn ý → thử chương mẫu. | Độc giả, chủ đề, lời hứa, ngôn ngữ, quy mô, quyền và nguồn. exercise, checklist, reflection_prompt, worked_example | Brief/dàn ý và required elements theo blueprint; chất lượng generation cần kiểm mẫu. Có blueprint, schema và interview trong catalogue. | Phần mềm cho bước CHỌN loại đã xong và đã đo bằng validator thật. Còn nằm ở phạm vi khác: chưa chứng minh loại này sinh sách và nghiệm thu đầu-cuối. Kiểm định nghĩa nguồn và danh mục; không gọi AI trả phí. | src/lib/blueprints/journal_mixed.ts; src/lib/blueprints/schema.ts; src/lib/blueprints/blueprints.spec.ts; src/lib/blueprints/wizard-reachability.spec.ts; src/components/studio/blueprint-catalogue.ts; src/components/studio/blueprint-catalogue.generated.ts; src/components/studio/blueprint-catalogue.spec.ts; src/components/studio/ports-blueprints.ts; src/app/app/books/new/page.tsx; e2e/blueprint-catalogue.spec.ts |

### F07.3 — Lưu nguồn cạnh claim

Ghi nguồn sát claim và content ID để người biên tập kiểm lại.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-51 | Phase step / Lưu nguồn cạnh claim | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Ghi nguồn sát claim và content ID để người biên tập kiểm lại. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. References/citations/claim evidence; source có quyền | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-citations-1 | Capability / Kiểm tính toàn vẹn liên kết trích dẫn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tính toàn vẹn liên kết trích dẫn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.spec.ts, src/components/studio/citations-ports.ts, src/lib/citations/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify.ts |
| cap-citations-2 | Capability / Định dạng bibliography/in-text theo style | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Định dạng bibliography/in-text theo style. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/format.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 42 symbol export; được 10 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format.fixtures.spec-helpers.ts, src/lib/citations/format.issues.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/format.ts |
| cap-citations-3 | Capability / Kiểm link nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm link nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-link.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-link.ts |
| cap-citations-4 | Capability / Kiểm ISBN | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ISBN. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-isbn.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-isbn.ts |
| cap-citations-5 | Capability / Đánh số nguồn ổn định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh số nguồn ổn định. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/numbering.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 6 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format-bibliography.ts, src/lib/citations/format-intext.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/numbering.ts |
| cap-citations-6 | Capability / Glossary theo edition | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Glossary theo edition. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/glossary.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 7 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.spec.ts, src/lib/citations/backtranslate-model.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/glossary.ts |
| cap-citations-7 | Capability / Back-translation để đối chiếu bản dịch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Back-translation để đối chiếu bản dịch. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/backtranslate.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.ts, src/lib/citations/backtranslate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/backtranslate.ts |
| cap-factcheck-1 | Capability / Trích các claim cần kiểm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích các claim cần kiểm. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/extract.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/lib/factcheck/extract.spec.ts, src/lib/factcheck/index.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/extract.ts |
| cap-factcheck-2 | Capability / Đối chiếu claim với nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu claim với nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/verify.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/lib/debate/adapters.ts, src/lib/factcheck/index.ts, src/lib/factcheck/verify.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/verify.ts |
| core-6-claims-ledger-ts | Capability / Sổ claim, kể cả claim đang ẩn | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Sổ claim, kể cả claim đang ẩn | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/claims-ledger.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/claims-ledger.ts; docs/TODO.md |

### F07.4 — Cập nhật canon

Cập nhật Bible/canon; với Fiction, kiểm scene, beat và nhật ký viết theo sách.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-52 | Phase step / Cập nhật canon | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Cập nhật Bible/canon; với Fiction, kiểm scene, beat và nhật ký viết theo sách. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. Bible extraction/merge/canon; bàn giao Studio→Workspace chống mất sửa Có temporal canon theo mốc thời gian. | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/bible/temporal.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-bible-1 | Capability / Trích entity từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích entity từ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/extract.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/extract.ts |
| cap-bible-2 | Capability / Hợp nhất entity và phát hiện xung đột | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hợp nhất entity và phát hiện xung đột. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/merge.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/handoff.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/merge.ts |
| cap-bible-3 | Capability / Rút gọn canon và hướng dẫn sử dụng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rút gọn canon và hướng dẫn sử dụng. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/compact.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/drift-judge.ts, src/lib/bible/extract.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/compact.ts |
| cap-bible-4 | Capability / Tra cứu canon theo thời điểm tránh tiết lộ tương lai | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tra cứu canon theo thời điểm tránh tiết lộ tương lai. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/temporal.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/components/studio/bible-temporal-panel.tsx, src/lib/bible/bible.spec.ts, src/lib/bible/temporal.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/temporal.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| cap-knowledge-1 | Capability / Lưu và truy xuất tri thức phục vụ bản thảo | Đã xong ✓ đã rà / Nhật ký quyết định đã nối vào cổng feasibility (đọc quyết định cũ vào prompt, ghi verdict sau khi luật quy tắc chạy) | Lưu và truy xuất tri thức phục vụ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Nguồn tri thức, entity/quan hệ và context chương. | Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. Có mã triển khai tại src/lib/knowledge/index.ts. Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. | Cổng feasibility đã thật sự gọi, cả hai chiều. Còn nằm ở phạm vi khác: 3 cổng quyết định sau (plan approval, review merge, batch go/no-go) chưa nối; `generation/engine.ts` vẫn khai `decisionsBrief` mà không chỗ nào điền — đường đọc cho engine vẫn chưa có nguồn. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/knowledge/index.ts; src/lib/knowledge/decision-log.ts; src/lib/knowledge/decision-log.spec.ts; src/lib/plan/feasibility-decisions.ts; src/lib/plan/feasibility-decisions.spec.ts; src/lib/plan/feasibility.ts; src/app/api/plan/feasibility/route.ts |

### F07.5 — Thử hướng dẫn / công cụ

Thử hướng dẫn hoặc công cụ bằng tình huống thực và tình huống biên.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-53 | Phase step / Thử hướng dẫn / công cụ | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Thử hướng dẫn hoặc công cụ bằng tình huống thực và tình huống biên. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. Tool protocol, sample và Product QA có trường hợp biên | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-55 | Local data form / Nghiệm thu cụm chương | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Mở sách → F07 → Nghiệm thu cụm chương; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã chương / công cụ (bắt buộc); Phiên bản (bắt buộc); Người thực hiện (bắt buộc); Ngày giao (bắt buộc); Nguồn và phần chờ xác minh (bắt buộc); Trạng thái (bắt buộc); Người nghiệm thu (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |

### F07.6 — Nghiệm thu cụm và ghi lỗi mở

Ghi phiên bản giao, người nhận và lỗi mở; duyệt cụm khi đủ bằng chứng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-54 | Phase step / Nghiệm thu cụm và ghi lỗi mở | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Viết theo brief và giữ nguồn, phiên bản, lỗi mở cùng bản thảo. | Ghi phiên bản giao, người nhận và lỗi mở; duyệt cụm khi đủ bằng chứng. | Phiên bản bản nháp; Danh sách phần chưa kiểm / nguồn chờ; Cách thử hướng dẫn và trường hợp biên | Các cụm nội dung được bàn giao, có người nhận và trạng thái rõ ràng. Delivery owner/due/version/accepted/returned; open items và lỗi | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-55 | Local data form / Nghiệm thu cụm chương | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Mở sách → F07 → Nghiệm thu cụm chương; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã chương / công cụ (bắt buộc); Phiên bản (bắt buộc); Người thực hiện (bắt buộc); Ngày giao (bắt buộc); Nguồn và phần chờ xác minh (bắt buộc); Trạng thái (bắt buộc); Người nghiệm thu (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Theo dõi phần nghiệm thu, nguồn chờ và công cụ; không chỉ đếm từ. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| cap-quality-1 | Capability / Chấm chương/sách và kiểm required elements | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm chương/sách và kiểm required elements. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/score.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 13 module thật sự import (src/components/studio/real-ports.ts, src/lib/debate/adapters.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/score.ts |
| cap-quality-2 | Capability / Thư biên tập cấu trúc và hướng sửa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thư biên tập cấu trúc và hướng sửa. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/editorial.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 9 module thật sự import (src/lib/gen/wire.ts, src/lib/quality/index.ts, src/lib/quality/quality-editor-actions.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/editorial.ts |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| core-1-gen-canonical-ts | Capability / Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical.ts; docs/TODO.md |
| core-2-gen-canonical-store-ts | Capability / Lưu bản nguồn với kiểm revision và CAS | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Lưu bản nguồn với kiểm revision và CAS | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical-store.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical-store.ts; docs/TODO.md |
| core-5-snapshots-ts | Capability / Chụp và khôi phục snapshots bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chụp và khôi phục snapshots bản thảo | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/snapshots.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/snapshots.ts; docs/TODO.md |
| core-15-cloud-sync-ts | Capability / Đồng bộ bản thảo và cảnh báo revision | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Đồng bộ bản thảo và cảnh báo revision | Mở sách hoặc Workspace → F05/F07 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/cloud-sync.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/cloud-sync.ts; docs/TODO.md; src/components/workspace/sync-controls.tsx |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-121 | AI Writing, 4-tier context | Đang làm | `generation/context-pack.ts`, `long-horizon.ts`, `ai/` | Nâng cấp context theo scene và chapter dependency; không xây engine thứ hai |
| legacy-122 | Codex / Story Bible | Đang làm | `bible/`, `gen/types.ts` | Giữ extraction/canon/glossary; thêm temporal states và timeline UI Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-129 | Niche Book Generators | Đang làm | `blueprints/`, `batch/`, `marketplace/` | Mở rộng blueprint có nhu cầu và rubric; chưa coi đủ 18+ loại |
| legacy-131 | Community & Gamification | Chưa làm | `fiction/writing-sprint.ts`, `market/author-site.ts` chỉ là nền liên quan | Community thật còn thiếu; thêm sau. Milestone tối thiểu lấy từ phase events |
| legacy-134 | Content Repurposing | Đang làm | `refs/`, `publish/translate.ts` remix, course, formats, `podcast/` | Giữ đầu ra; nối source-to-book recipes, thêm transcript/OCR khi cần Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-137 | Collaboration Suite | Đang làm | SOP cloud owner/admin, lịch sử có tài khoản/thời gian, đối chiếu dữ liệu, sao lưu trước khôi phục; phục vụ toàn bộ F01–F14 | Cộng tác bản thảo thời gian thực, comments/approval/merge chưa nối đầy đủ vào dữ liệu thật; còn kiểm cloud bằng phiên người dùng hợp lệ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-140 | Real-time Collaboration | Đang làm | `collab/oplog.ts`, transport seam | Gộp #17; thêm CRDT, network transport, presence, CAS/version checks |
| legacy-147 | Series Universe Manager | Đang làm | `bible/series.ts`, `sales/series-planner.ts`, `market/reading-order.ts` | Gộp #2; nâng versioned canon, override review và propagation Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-157 | Handoffs F01–F14 và quyết định/authorized spend | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Actor/evidence/version/decision/revisit; thiếu hồ sơ không mở thao tác phụ thuộc |
| legacy-158 | Canonical project, CAS/stale, metadata/export chung | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Concurrent edit bị phát hiện; source/approval/artifact versions đúng |
| legacy-172 | Live jobs/storage/credits, retry/hydrate | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Resume/replay không double charge; reload giữ run/review; cost usage không log content |
| legacy-173 | Context/temporal canon + anti-repetition | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Locked context giữ; knowledge state hợp scene; allocator infeasible báo rõ |
| legacy-175 | Quick Start/chat/Sensory/selection proposals | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Quick Start tạo investment/sample proposal; chat có refs, không bypass F02/F04/F06 |
| legacy-185 | CRDT/offline/chapter permissions, agency production | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Reconnect converge, server perms/tenant boundary; portal dùng contracts hiện có |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-3 | Lưu sách và các bản nháp trong IndexedDB | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/books-store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-9 | Biên tập bản thảo Workspace theo blocks | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/manuscript-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-10 | Nhập bản thảo và xem báo cáo parser | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/report-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-12 | Sổ bằng chứng và kiểm claim trong Workspace | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/evidence-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-13 | Dự án Workspace và lưu cục bộ | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-15 | Wizard thiết lập lô sản xuất | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/batch/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F08 — Biên tập và nghiệm thu

Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả.


### F08.1 — Biên tập cấu trúc

Dùng Review để rà thứ tự, khoảng trống và lời hứa còn thiếu.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-56 | Phase step / Biên tập cấu trúc | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Dùng Review để rà thứ tự, khoảng trống và lời hứa còn thiếu. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. Core Audit và Revision Plan trên bản thảo người dùng | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-63 | Local data form / Nhật ký lỗi và kiểm lại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Mở sách → F08 → Nhật ký lỗi và kiểm lại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Vị trí / phiên bản (bắt buộc); Lỗi (bắt buộc); Mức độ (bắt buộc); Người sửa (bắt buộc); Trạng thái (bắt buộc); Bằng chứng kiểm lại / giải pháp; Người kiểm lại | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-fiction-1 | Capability / Lấy chương và snapshots từ bản nguồn chính | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lấy chương và snapshots từ bản nguồn chính. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/book-source.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/components/studio/fiction-tab.tsx, src/lib/fiction/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/book-source.ts |
| cap-fiction-2 | Capability / Thẻ scene và mẫu beat sheet | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thẻ scene và mẫu beat sheet. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 37 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/beat-sheet.spec.ts, src/lib/fiction/book-source.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet.ts |
| cap-fiction-3 | Capability / Đo POV và nhịp câu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo POV và nhịp câu. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/beat-sheet-pov.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/fiction/beat-sheet-cards.ts, src/lib/fiction/beat-sheet.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/beat-sheet-pov.ts |
| cap-fiction-4 | Capability / So sánh phiên bản và giữ xung đột cần quyết định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh phiên bản và giữ xung đột cần quyết định. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/version-compare.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/book-source.ts, src/lib/fiction/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/version-compare.ts |
| cap-fiction-5 | Capability / Dự toán tiến độ dựa trên nhật ký viết thật | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Dự toán tiến độ dựa trên nhật ký viết thật. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/writing-sprint.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/sprint-store.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/writing-sprint.ts |
| cap-fiction-6 | Capability / Lưu sprint theo từng sách trên trình duyệt | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Lưu sprint theo từng sách trên trình duyệt. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/sprint-store.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/components/studio/fiction-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/sprint-store.ts |
| cap-fiction-7 | Capability / Đánh giá điều kiện offline/PWA | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá điều kiện offline/PWA. Quản lý scene, beat, phiên bản và nhật ký viết. | Chọn scene từ bản nguồn, rà canon và so phiên bản; nhập nhật ký/đích viết theo sách rồi lưu. | Bản nguồn Workspace hoặc bản nháp mới nhất; snapshots và nhật ký viết thật. | Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. Có mã triển khai tại src/lib/fiction/pwa-review.ts. Scene/beat/POV/rhythm, diff phiên bản và tiến độ sprint từ dữ liệu người viết. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/fiction-ports.ts, src/lib/fiction/index.ts, src/lib/fiction/pwa-review.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/fiction/pwa-review.ts |
| cap-quality-1 | Capability / Chấm chương/sách và kiểm required elements | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm chương/sách và kiểm required elements. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/score.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 13 module thật sự import (src/components/studio/real-ports.ts, src/lib/debate/adapters.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/score.ts |
| cap-quality-2 | Capability / Thư biên tập cấu trúc và hướng sửa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thư biên tập cấu trúc và hướng sửa. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/editorial.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 9 module thật sự import (src/lib/gen/wire.ts, src/lib/quality/index.ts, src/lib/quality/quality-editor-actions.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/editorial.ts |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-debate-1 | Capability / Quản lý persona người đánh giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý persona người đánh giá. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/personas.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 20 module thật sự import (src/app/api/review/session/route.ts, src/components/studio/persona-editor.tsx, src/components/studio/real-review-ports.mapping.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/personas.ts |
| cap-debate-2 | Capability / Chạy phiên đánh giá nhiều vai trò | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy phiên đánh giá nhiều vai trò. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-runner.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-runner.ts |
| cap-debate-3 | Capability / Tổng hợp đánh giá và điểm bất đồng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp đánh giá và điểm bất đồng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/synthesize.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/debate/index.ts, src/lib/debate/session-phases.ts, src/lib/debate/synthesize.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/synthesize.ts |
| cap-debate-4 | Capability / Consensus và điều kiện dừng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Consensus và điều kiện dừng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/consensus.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/debate/consensus.spec.ts, src/lib/debate/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/consensus.ts |
| cap-debate-5 | Capability / So A/B trong phiên review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So A/B trong phiên review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-ab.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 2 module thật sự import (src/lib/debate/session-runner.ts, src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-ab.ts |
| cap-debate-6 | Capability / Ước tính chi phí review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/estimate.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/estimate.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| core-1-gen-canonical-ts | Capability / Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical.ts; docs/TODO.md |

### F08.2 — Kiểm nguồn / công thức / quyền

Đối chiếu nguồn, công thức, quyền và sổ lời hứa với bản nguồn hiện tại.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-57 | Phase step / Kiểm nguồn / công thức / quyền | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Đối chiếu nguồn, công thức, quyền và sổ lời hứa với bản nguồn hiện tại. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. Claims Ledger/citations/rights checks; reviewer và retest | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-63 | Local data form / Nhật ký lỗi và kiểm lại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Mở sách → F08 → Nhật ký lỗi và kiểm lại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Vị trí / phiên bản (bắt buộc); Lỗi (bắt buộc); Mức độ (bắt buộc); Người sửa (bắt buộc); Trạng thái (bắt buộc); Bằng chứng kiểm lại / giải pháp; Người kiểm lại | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-refs-1 | Capability / Nạp tài liệu và chia đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nạp tài liệu và chia đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/ingest.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 6 module thật sự import (src/app/api/refs/ingest/route.ts, src/inngest/functions/ingest-reference.ts, src/inngest/supabase-refs-repo.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/ingest.ts |
| cap-refs-2 | Capability / Kiểm prompt injection trong nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm prompt injection trong nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/sanitize.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 16 module thật sự import (src/app/api/refs/ingest/route.ts, src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/sanitize.ts |
| cap-refs-3 | Capability / Lập context từ tài liệu theo yêu cầu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập context từ tài liệu theo yêu cầu. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/retrieve.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/retrieve.ts |
| cap-refs-4 | Capability / Tổng hợp factsheet có dấu nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp factsheet có dấu nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/factsheet.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/factsheet.spec.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/factsheet.ts |
| cap-refs-5 | Capability / Báo cáo khoảng trống nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Báo cáo khoảng trống nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/gap-report.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 6 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/gap-report.ts |
| cap-refs-6 | Capability / Phân đoạn tài liệu và giữ source IDs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân đoạn tài liệu và giữ source IDs. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/chunk.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.spec.ts, src/lib/refs/factsheet.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/chunk.ts |
| cap-refs-7 | Capability / Tìm tương đồng đoạn nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm tương đồng đoạn nguồn. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/similarity.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/lib/citations/backtranslate.ts, src/lib/fiction/version-compare.ts, src/lib/refs/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/similarity.ts |
| cap-refs-8 | Capability / Trích nội dung và metadata file | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích nội dung và metadata file. Giữ tài liệu để kiểm chứng và viết có căn cứ. | Thêm file/văn bản, phân loại quyền và grounding; chỉ xác nhận nguồn đã được phép dùng. | File/văn bản/URL nguồn, quyền sử dụng, loại nguồn, yêu cầu grounding. | Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. Có mã triển khai tại src/lib/refs/extract.ts. Tài liệu, đoạn chia nhỏ, cảnh báo injection, kết quả truy xuất và báo cáo phủ nguồn. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 5 module thật sự import (src/inngest/functions/ingest-reference.ts, src/lib/refs/chunk.ts, src/lib/refs/extract.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/refs/extract.ts |
| cap-bible-1 | Capability / Trích entity từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích entity từ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/extract.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/extract.ts |
| cap-bible-2 | Capability / Hợp nhất entity và phát hiện xung đột | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hợp nhất entity và phát hiện xung đột. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/merge.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/handoff.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/merge.ts |
| cap-bible-3 | Capability / Rút gọn canon và hướng dẫn sử dụng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rút gọn canon và hướng dẫn sử dụng. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/compact.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/drift-judge.ts, src/lib/bible/extract.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/compact.ts |
| cap-bible-4 | Capability / Tra cứu canon theo thời điểm tránh tiết lộ tương lai | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tra cứu canon theo thời điểm tránh tiết lộ tương lai. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/temporal.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/components/studio/bible-temporal-panel.tsx, src/lib/bible/bible.spec.ts, src/lib/bible/temporal.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/temporal.ts |
| cap-citations-1 | Capability / Kiểm tính toàn vẹn liên kết trích dẫn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tính toàn vẹn liên kết trích dẫn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.spec.ts, src/components/studio/citations-ports.ts, src/lib/citations/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify.ts |
| cap-citations-2 | Capability / Định dạng bibliography/in-text theo style | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Định dạng bibliography/in-text theo style. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/format.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 42 symbol export; được 10 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format.fixtures.spec-helpers.ts, src/lib/citations/format.issues.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/format.ts |
| cap-citations-3 | Capability / Kiểm link nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm link nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-link.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-link.ts |
| cap-citations-4 | Capability / Kiểm ISBN | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ISBN. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-isbn.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-isbn.ts |
| cap-citations-5 | Capability / Đánh số nguồn ổn định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh số nguồn ổn định. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/numbering.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 6 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format-bibliography.ts, src/lib/citations/format-intext.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/numbering.ts |
| cap-citations-6 | Capability / Glossary theo edition | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Glossary theo edition. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/glossary.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 7 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.spec.ts, src/lib/citations/backtranslate-model.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/glossary.ts |
| cap-citations-7 | Capability / Back-translation để đối chiếu bản dịch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Back-translation để đối chiếu bản dịch. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/backtranslate.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.ts, src/lib/citations/backtranslate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/backtranslate.ts |
| cap-factcheck-1 | Capability / Trích các claim cần kiểm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích các claim cần kiểm. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/extract.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/lib/factcheck/extract.spec.ts, src/lib/factcheck/index.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/extract.ts |
| cap-factcheck-2 | Capability / Đối chiếu claim với nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu claim với nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/verify.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/lib/debate/adapters.ts, src/lib/factcheck/index.ts, src/lib/factcheck/verify.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/verify.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| cap-knowledge-1 | Capability / Lưu và truy xuất tri thức phục vụ bản thảo | Đã xong ✓ đã rà / Nhật ký quyết định đã nối vào cổng feasibility (đọc quyết định cũ vào prompt, ghi verdict sau khi luật quy tắc chạy) | Lưu và truy xuất tri thức phục vụ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Nguồn tri thức, entity/quan hệ và context chương. | Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. Có mã triển khai tại src/lib/knowledge/index.ts. Tri thức truy xuất hỗ trợ context; cần đối chiếu độ phủ thực tế. | Cổng feasibility đã thật sự gọi, cả hai chiều. Còn nằm ở phạm vi khác: 3 cổng quyết định sau (plan approval, review merge, batch go/no-go) chưa nối; `generation/engine.ts` vẫn khai `decisionsBrief` mà không chỗ nào điền — đường đọc cho engine vẫn chưa có nguồn. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/knowledge/index.ts; src/lib/knowledge/decision-log.ts; src/lib/knowledge/decision-log.spec.ts; src/lib/plan/feasibility-decisions.ts; src/lib/plan/feasibility-decisions.spec.ts; src/lib/plan/feasibility.ts; src/app/api/plan/feasibility/route.ts |
| core-6-claims-ledger-ts | Capability / Sổ claim, kể cả claim đang ẩn | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Sổ claim, kể cả claim đang ẩn | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/claims-ledger.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/claims-ledger.ts; docs/TODO.md |
| core-13-audit-ts | Capability / Báo cáo kiểm bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Báo cáo kiểm bản thảo | Mở sách hoặc Workspace → F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/audit.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/audit.ts; docs/TODO.md |

### F08.3 — Biên tập dòng và câu

Sửa câu, thuật ngữ và trình bày; ghi lỗi để người khác kiểm lại.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-58 | Phase step / Biên tập dòng và câu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Sửa câu, thuật ngữ và trình bày; ghi lỗi để người khác kiểm lại. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. Smart Editor/line edit/action proposals và provenance | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-63 | Local data form / Nhật ký lỗi và kiểm lại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Mở sách → F08 → Nhật ký lỗi và kiểm lại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Vị trí / phiên bản (bắt buộc); Lỗi (bắt buộc); Mức độ (bắt buộc); Người sửa (bắt buộc); Trạng thái (bắt buộc); Bằng chứng kiểm lại / giải pháp; Người kiểm lại | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-generation-1 | Capability / Engine viết chương, chấm và sửa theo quality gate | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine viết chương, chấm và sửa theo quality gate. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 13 module thật sự import (src/app/api/batch/run/route.ts, src/app/api/gen/generate/route.ts, src/inngest/credits.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine.ts |
| cap-generation-2 | Capability / Gói context Brief/Bible/summary/nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói context Brief/Bible/summary/nguồn. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/context-pack.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 6 module thật sự import (src/inngest/functions/generate-book.ts, src/lib/generation/context-pack.spec.ts, src/lib/generation/engine.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/context-pack.ts |
| cap-generation-3 | Capability / Context dài hạn và giới hạn độ dài | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Context dài hạn và giới hạn độ dài. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/long-horizon.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 2 module thật sự import (src/lib/generation/context-pack.spec.ts, src/lib/generation/context-pack.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/long-horizon.ts |
| cap-generation-4 | Capability / Kiểm continuity trong vòng generation | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm continuity trong vòng generation. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-continuity.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-continuity.ts |
| cap-generation-5 | Capability / Ước tính token và chi phí trước chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính token và chi phí trước chạy. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/estimate.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/components/studio/real-ports.ts, src/inngest/credits.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/estimate.ts |
| cap-generation-6 | Capability / Chuyển Markdown đầu ra thành blocks | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển Markdown đầu ra thành blocks. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/markdown-to-blocks.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/lib/generation/engine.ts, src/lib/generation/index.ts, src/lib/generation/markdown-image.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/markdown-to-blocks.ts |
| cap-generation-7 | Capability / Phát sự kiện tiến độ theo chương và tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát sự kiện tiến độ theo chương và tác vụ. Viết và theo dõi các phiên bản chương. | Chọn chương, kiểm nguồn rồi tạo/sửa bản nháp; bàn giao bản được chọn sang bản thảo. | Brief/dàn ý đã duyệt, nguồn được phép, gate, ngân sách và model. | Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. Có mã triển khai tại src/lib/generation/engine-emitter.ts. Bản nháp chương, version, scores, summaries, tiến độ và lỗi có thể tiếp tục. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/lib/generation/engine-continuity.ts, src/lib/generation/engine.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/generation/engine-emitter.ts |
| cap-quality-1 | Capability / Chấm chương/sách và kiểm required elements | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm chương/sách và kiểm required elements. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/score.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 13 module thật sự import (src/components/studio/real-ports.ts, src/lib/debate/adapters.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/score.ts |
| cap-quality-2 | Capability / Thư biên tập cấu trúc và hướng sửa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thư biên tập cấu trúc và hướng sửa. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/editorial.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 9 module thật sự import (src/lib/gen/wire.ts, src/lib/quality/index.ts, src/lib/quality/quality-editor-actions.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/editorial.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |
| cap-eval-1 | Capability / Rubric chấm prompt và output | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rubric chấm prompt và output. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/rubric.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.ts, src/lib/eval/benchmark.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/rubric.ts |
| cap-eval-2 | Capability / Prompt packs theo tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt packs theo tác vụ. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/prompt-packs.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/ab.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/prompt-packs.ts |
| cap-eval-3 | Capability / Benchmark nhiều prompt/model | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Benchmark nhiều prompt/model. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/benchmark.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/benchmark.spec.ts, src/lib/eval/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/benchmark.ts |
| cap-eval-4 | Capability / So sánh A/B và thống kê | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh A/B và thống kê. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/ab.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 6 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/fixtures.spec-helpers.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/ab.ts |
| cap-eval-5 | Capability / Replay một lần chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Replay một lần chạy. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/replay.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/replay.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/replay.ts |
| cap-eval-6 | Capability / Theo dõi xu hướng chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi xu hướng chất lượng. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/trends.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/trends.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/trends.ts |
| cap-debate-1 | Capability / Quản lý persona người đánh giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý persona người đánh giá. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/personas.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 20 module thật sự import (src/app/api/review/session/route.ts, src/components/studio/persona-editor.tsx, src/components/studio/real-review-ports.mapping.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/personas.ts |
| cap-debate-2 | Capability / Chạy phiên đánh giá nhiều vai trò | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy phiên đánh giá nhiều vai trò. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-runner.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-runner.ts |
| cap-debate-3 | Capability / Tổng hợp đánh giá và điểm bất đồng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp đánh giá và điểm bất đồng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/synthesize.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/debate/index.ts, src/lib/debate/session-phases.ts, src/lib/debate/synthesize.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/synthesize.ts |
| cap-debate-4 | Capability / Consensus và điều kiện dừng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Consensus và điều kiện dừng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/consensus.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/debate/consensus.spec.ts, src/lib/debate/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/consensus.ts |
| cap-debate-5 | Capability / So A/B trong phiên review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So A/B trong phiên review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-ab.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 2 module thật sự import (src/lib/debate/session-runner.ts, src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-ab.ts |
| cap-debate-6 | Capability / Ước tính chi phí review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/estimate.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/estimate.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| core-4-find-replace-ts | Capability / Tìm và thay thế trong bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Tìm và thay thế trong bản thảo | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/find-replace.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/find-replace.ts; docs/TODO.md |
| core-14-style-normalize-ts | Capability / Chuẩn hóa style bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chuẩn hóa style bản thảo | Mở sách hoặc Workspace → F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/style-normalize.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/style-normalize.ts; docs/TODO.md |

### F08.4 — Thử nhiệm vụ người đọc thật

Ghi người đọc thật, nhiệm vụ, kết quả và consent. Mô phỏng AI không thay kết quả này.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-59 | Phase step / Thử nhiệm vụ người đọc thật | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Ghi người đọc thật, nhiệm vụ, kết quả và consent. Mô phỏng AI không thay kết quả này. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. Reader Test: nhiệm vụ/completed/assisted/failed/time/observer/version | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-62 | Local data form / Thử nghiệm người đọc | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | AI simulation không thay nghiệm thu người thật. Ghi nhiệm vụ và quan sát có thể kiểm lại. | Mở sách → F08 → Thử nghiệm người đọc; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã người đọc / nhóm (bắt buộc); Mã và phiên bản nội dung (bắt buộc); Nhiệm vụ (bắt buộc); Kết quả (bắt buộc); Thời gian phút (bắt buộc); Quan sát / lỗi / điểm bỏ đọc (bắt buộc); Người quan sát (bắt buộc); Ngày thử (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; AI simulation không thay nghiệm thu người thật. Ghi nhiệm vụ và quan sát có thể kiểm lại. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |

### F08.5 — Sửa và kiểm lại

Cập nhật sổ lỗi: người sửa, người kiểm và bằng chứng đã giải quyết.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-60 | Phase step / Sửa và kiểm lại | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Cập nhật sổ lỗi: người sửa, người kiểm và bằng chứng đã giải quyết. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. Issues critical/important/minor; owner/fix/retest/reviewer; blocker gate | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-63 | Local data form / Nhật ký lỗi và kiểm lại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Mở sách → F08 → Nhật ký lỗi và kiểm lại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Vị trí / phiên bản (bắt buộc); Lỗi (bắt buộc); Mức độ (bắt buộc); Người sửa (bắt buộc); Trạng thái (bắt buộc); Bằng chứng kiểm lại / giải pháp; Người kiểm lại | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Lỗi nghiêm trọng chặn; lỗi quan trọng cần giải pháp được duyệt và kiểm lại. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-quality-1 | Capability / Chấm chương/sách và kiểm required elements | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm chương/sách và kiểm required elements. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/score.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 13 module thật sự import (src/components/studio/real-ports.ts, src/lib/debate/adapters.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/score.ts |
| cap-quality-2 | Capability / Thư biên tập cấu trúc và hướng sửa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thư biên tập cấu trúc và hướng sửa. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/editorial.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 9 module thật sự import (src/lib/gen/wire.ts, src/lib/quality/index.ts, src/lib/quality/quality-editor-actions.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/editorial.ts |
| cap-quality-ops-1 | Capability / Đo readability từ văn bản | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đo readability từ văn bản. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/readability-rewrite.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability.ts |
| cap-quality-ops-2 | Capability / Đề xuất viết lại theo readability | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đề xuất viết lại theo readability. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/readability-rewrite.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 1 module thật sự import (src/lib/quality-ops/readability.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/readability-rewrite.ts |
| cap-quality-ops-3 | Capability / Phát hiện lệch thuật ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phát hiện lệch thuật ngữ. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/terminology.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/terminology.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/terminology.ts |
| cap-quality-ops-4 | Capability / Thêm ví dụ minh họa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thêm ví dụ minh họa. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 4 module thật sự import (src/components/studio/quality-ops-ports.ts, src/components/studio/quality-ops-tab.tsx, src/lib/quality-ops/example-injector-ai.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/example-injector.ts |
| cap-quality-ops-5 | Capability / Gợi ý ví dụ bằng AI | Đang làm ✓ đã rà / groundExamples có code và test; chưa nối vào luồng | Gợi ý ví dụ bằng AI. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/example-injector-ai.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | Đo: quality-ops-tab.tsx gọi insertExamples với hằng NO_GROUNDED_EXAMPLES, nên nhánh 'gợi ý ví dụ bằng AI' chưa chạy. Cần quyết định khi nào tự động gợi ý và chấp nhận tốn model. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/quality-ops/example-injector-ai.ts; src/components/studio/quality-ops-tab.tsx; scripts/features/probe-capabilities.mjs |
| cap-quality-ops-6 | Capability / Điều chỉnh bài tập theo người học | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều chỉnh bài tập theo người học. Theo dõi lỗi và lần kiểm chất lượng. | Lập lỗi, người phụ trách, mức ảnh hưởng; ghi bằng chứng kiểm lại khi đóng lỗi. | Bản thảo, mục tiêu độ khó, glossary, ví dụ và bài tập. | Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. Có mã triển khai tại src/lib/quality-ops/exercise-tuner.ts. Báo cáo readability, thuật ngữ, gợi ý sửa và bài tập đánh giá. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/quality-ops-analysis-cards.tsx, src/components/studio/quality-ops-ports.ts, src/lib/quality-ops/exercise-tuner.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality-ops/exercise-tuner.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |
| cap-factcheck-1 | Capability / Trích các claim cần kiểm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích các claim cần kiểm. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/extract.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/lib/factcheck/extract.spec.ts, src/lib/factcheck/index.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/extract.ts |
| cap-factcheck-2 | Capability / Đối chiếu claim với nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu claim với nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Block và phiên bản, nguồn kiểm chứng và claim. | Sổ claim, phân loại và kết quả đối chiếu có căn cứ. Có mã triển khai tại src/lib/factcheck/verify.ts. Sổ claim, phân loại và kết quả đối chiếu có căn cứ. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/lib/debate/adapters.ts, src/lib/factcheck/index.ts, src/lib/factcheck/verify.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/factcheck/verify.ts |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-debate-1 | Capability / Quản lý persona người đánh giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý persona người đánh giá. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/personas.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 20 module thật sự import (src/app/api/review/session/route.ts, src/components/studio/persona-editor.tsx, src/components/studio/real-review-ports.mapping.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/personas.ts |
| cap-debate-2 | Capability / Chạy phiên đánh giá nhiều vai trò | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy phiên đánh giá nhiều vai trò. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-runner.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 1 module thật sự import (src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-runner.ts |
| cap-debate-3 | Capability / Tổng hợp đánh giá và điểm bất đồng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp đánh giá và điểm bất đồng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/synthesize.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/debate/index.ts, src/lib/debate/session-phases.ts, src/lib/debate/synthesize.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/synthesize.ts |
| cap-debate-4 | Capability / Consensus và điều kiện dừng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Consensus và điều kiện dừng. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/consensus.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/debate/consensus.spec.ts, src/lib/debate/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/consensus.ts |
| cap-debate-5 | Capability / So A/B trong phiên review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So A/B trong phiên review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/session-ab.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 2 module thật sự import (src/lib/debate/session-runner.ts, src/lib/debate/session.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/session-ab.ts |
| cap-debate-6 | Capability / Ước tính chi phí review | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí review. Rà cấu trúc, câu và vấn đề còn mở. | Chọn chương, đọc nhận xét và sửa; ghi lỗi cùng bằng chứng kiểm lại tại F08. | Persona, bản thảo, tiêu chí, ngân sách và cấu hình phiên review. | Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. Có mã triển khai tại src/lib/debate/estimate.ts. Nhận xét nhiều vai trò, consensus, diff và đề xuất tổng hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/real-review-ports.mapping.ts, src/components/studio/real-review-ports.personas.ts, src/components/studio/real-review-ports.refs.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/debate/estimate.ts |
| core-5-snapshots-ts | Capability / Chụp và khôi phục snapshots bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chụp và khôi phục snapshots bản thảo | Mở sách hoặc Workspace → F07/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/snapshots.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/snapshots.ts; docs/TODO.md |

### F08.6 — Khóa bản nguồn

Ghi phiên bản nguồn và nghiệm thu lời hứa; khóa bản sau khi duyệt.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-61 | Phase step / Khóa bản nguồn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Nghiệm thu nội dung bằng kiểm chứng và nhiệm vụ của độc giả. | Ghi phiên bản nguồn và nghiệm thu lời hứa; khóa bản sau khi duyệt. | Bản nguồn được khóa; So lời hứa với thành phẩm; Người chịu trách nhiệm biên tập / kiểm chứng | Bản nguồn đã khóa cùng sổ lỗi, kết quả thử và bằng chứng nghiệm thu. F08 source anchor/version; sửa nguồn làm approval stale | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-quality-1 | Capability / Chấm chương/sách và kiểm required elements | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm chương/sách và kiểm required elements. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/score.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 13 module thật sự import (src/components/studio/real-ports.ts, src/lib/debate/adapters.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/score.ts |
| cap-quality-2 | Capability / Thư biên tập cấu trúc và hướng sửa | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Thư biên tập cấu trúc và hướng sửa. Quan sát kết quả kiểm và phần cần sửa. | Đọc lý do từng điểm, kiểm bằng bản nguồn rồi sửa; điểm AI không tự thay nghiệm thu. | Draft, Brief, tiêu chí gate, số judge và lỗi cần sửa. | Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. Có mã triển khai tại src/lib/quality/editorial.ts. Điểm theo tiêu chí, fix brief, nhận xét biên tập và lịch sử chất lượng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 9 module thật sự import (src/lib/gen/wire.ts, src/lib/quality/index.ts, src/lib/quality/quality-editor-actions.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/quality/editorial.ts |
| cap-pwa-1 | Capability / Điều kiện cài app: manifest, icon PNG 192/512 và service worker | Đã xong ✓ đã rà / PWA cài được và có phần offline; chưa phải native app | Điều kiện cài app: manifest, icon PNG 192/512 và service worker. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/books; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | manifest.webmanifest, icon PNG, service worker và trạng thái đăng ký. | Điều kiện cài app (PWA) và trang fallback offline có câu giải thích. Có mã triển khai tại src/lib/pwa/install-readiness.ts. Điều kiện cài app (PWA) và trang fallback offline có câu giải thích. | Còn thiếu phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/pwa/install-readiness.ts; src/lib/pwa/pwa-setup-check.ts; src/app/api/setup/status/route.ts; public/manifest.webmanifest; public/sw.js; public/icons/icon-192.png; public/icons/icon-512.png; public/icons/apple-touch-icon.png; src/app/offline/page.tsx |
| cap-collab-1 | Capability / Comment threads và trạng thái xử lý | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Comment threads và trạng thái xử lý. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 36 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/comments.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments.ts |
| cap-collab-2 | Capability / Chapter approval có người chịu trách nhiệm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chapter approval có người chịu trách nhiệm. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/comments-approval.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 1 module thật sự import (src/lib/collab/comments.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/comments-approval.ts |
| cap-collab-3 | Capability / Đối chiếu và giải xung đột block | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đối chiếu và giải xung đột block. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/merge.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 27 symbol export; được 4 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/merge-apply.spec.ts, src/lib/collab/merge.fixtures.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/merge.ts |
| cap-collab-4 | Capability / Operation log và phát lại thay đổi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Operation log và phát lại thay đổi. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/oplog.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/oplog.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/oplog.ts |
| cap-collab-5 | Capability / Nguồn operation log từ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn operation log từ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-oplog-source.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/yjs-oplog-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-oplog-source.ts |
| cap-collab-6 | Capability / Transport đồng bộ Yjs | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Transport đồng bộ Yjs. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/yjs-transport.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 3 module thật sự import (src/lib/collab/yjs-oplog-source.spec.ts, src/lib/collab/yjs-oplog-source.ts, src/lib/collab/yjs-transport.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/yjs-transport.ts |
| cap-collab-7 | Capability / Command palette cho tác vụ biên tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Command palette cho tác vụ biên tập. Ghi phân công và theo dõi bàn giao. | Rà người phụ trách/quyền và phiên bản giao; cộng tác CRDT thời gian thực chưa hoàn tất. | Người tham gia, block/chapter IDs, revision, comment và operation log. | Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. Có mã triển khai tại src/lib/collab/command-palette.ts. Threads, trạng thái duyệt, merge/conflict và operation Yjs; transport thật cần xác minh. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 2 module thật sự import (src/components/studio/collab-ports.ts, src/lib/collab/command-palette.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/collab/command-palette.ts |
| cap-authz-1 | Capability / Ma trận quyền vai trò/tài nguyên | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ma trận quyền vai trò/tài nguyên. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/matrix.ts. Kết quả cho phép/từ chối theo ma trận quyền. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/app/admin/page.tsx, src/lib/authz/engine.ts, scripts/engine-conformance.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/matrix.ts |
| cap-authz-2 | Capability / Engine quyết định quyền | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine quyết định quyền. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Vai trò, hành động, tài nguyên và người tham gia. | Kết quả cho phép/từ chối theo ma trận quyền. Có mã triển khai tại src/lib/authz/engine.ts. Kết quả cho phép/từ chối theo ma trận quyền. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 6 module thật sự import (src/lib/authz/engine-platform.spec.ts, src/lib/authz/engine.spec.ts, src/lib/enterprise/team-roles.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/authz/engine.ts |
| core-2-gen-canonical-store-ts | Capability / Lưu bản nguồn với kiểm revision và CAS | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Lưu bản nguồn với kiểm revision và CAS | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical-store.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical-store.ts; docs/TODO.md |
| core-12-readiness-ts | Capability / Pre-flight và mức sẵn sàng bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Pre-flight và mức sẵn sàng bản thảo | Mở sách hoặc Workspace → F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/readiness.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/readiness.ts; docs/TODO.md |
| core-20-sop-promise-coverage-ts | Capability / Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Liên kết lời hứa → nhu cầu → content IDs và nghiệm thu | Mở sách hoặc Workspace → F03/F06/F08 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/promise-coverage.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/promise-coverage.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-121 | AI Writing, 4-tier context | Đang làm | `generation/context-pack.ts`, `long-horizon.ts`, `ai/` | Nâng cấp context theo scene và chapter dependency; không xây engine thứ hai |
| legacy-122 | Codex / Story Bible | Đang làm | `bible/`, `gen/types.ts` | Giữ extraction/canon/glossary; thêm temporal states và timeline UI Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-123 | AI Editorial 5-pass | Đang làm | `quality/`, `quality-ops/`, `audit.ts`, `debate/` | Nâng cấp bốn lớp nghiệm thu SOP, genre rubric, proofread artifact |
| legacy-129 | Niche Book Generators | Đang làm | `blueprints/`, `batch/`, `marketplace/` | Mở rộng blueprint có nhu cầu và rubric; chưa coi đủ 18+ loại |
| legacy-131 | Community & Gamification | Chưa làm | `fiction/writing-sprint.ts`, `market/author-site.ts` chỉ là nền liên quan | Community thật còn thiếu; thêm sau. Milestone tối thiểu lấy từ phase events |
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-137 | Collaboration Suite | Đang làm | SOP cloud owner/admin, lịch sử có tài khoản/thời gian, đối chiếu dữ liệu, sao lưu trước khôi phục; phục vụ toàn bộ F01–F14 | Cộng tác bản thảo thời gian thực, comments/approval/merge chưa nối đầy đủ vào dữ liệu thật; còn kiểm cloud bằng phiên người dùng hợp lệ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-140 | Real-time Collaboration | Đang làm | `collab/oplog.ts`, transport seam | Gộp #17; thêm CRDT, network transport, presence, CAS/version checks |
| legacy-144 | Reader Analytics | Đang làm | `reader-insight/feedback.ts` là phản hồi, `sales/` là doanh số | Gộp #13; telemetry đọc thật còn thiếu, chỉ thu trên bề mặt kiểm soát được |
| legacy-147 | Series Universe Manager | Đang làm | `bible/series.ts`, `sales/series-planner.ts`, `market/reading-order.ts` | Gộp #2; nâng versioned canon, override review và propagation Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-155 | AI Beta Reader Marketplace | Chưa làm | `reader-insight/reader-sim.ts`, feedback; chưa có chợ người đọc | Giữ AI simulation; chợ matching/payment/reputation người thật là phạm vi mới, hoãn |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-158 | Canonical project, CAS/stale, metadata/export chung | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Concurrent edit bị phát hiện; source/approval/artifact versions đúng |
| legacy-174 | SOP editorial + reader task testing + source lock | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F08 lỗi có fix/retest; simulation không thay human; changed source stale |
| legacy-185 | CRDT/offline/chapter permissions, agency production | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Reconnect converge, server perms/tenant boundary; portal dùng contracts hiện có |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-3 | Lưu sách và các bản nháp trong IndexedDB | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/books-store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-9 | Biên tập bản thảo Workspace theo blocks | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/manuscript-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-12 | Sổ bằng chứng và kiểm claim trong Workspace | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/evidence-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-13 | Dự án Workspace và lưu cục bộ | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F09 — Dịch và ngôn ngữ

Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích.


### F09.1 — Nghiên cứu thị trường đích riêng

Nghiên cứu độc giả và bằng chứng mua ở thị trường đích riêng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-64 | Phase step / Nghiên cứu thị trường đích riêng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích. | Nghiên cứu độc giả và bằng chứng mua ở thị trường đích riêng. | Locale và quốc gia đích; Bằng chứng thị trường đích và đầu tư; Bản nguồn khóa; Glossary / số / ngày / đơn vị; Người dịch; Người hiệu đính song ngữ độc lập | Hồ sơ edition được người hiệu đính độc lập chấp nhận hoặc ghi không áp dụng. F09 target-market brief và dữ liệu nghiên cứu theo locale | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |

### F09.2 — Dự toán / quyền / route

Ghi dự toán, phạm vi quyền và route trước khi dịch.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-65 | Phase step / Dự toán / quyền / route | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích. | Ghi dự toán, phạm vi quyền và route trước khi dịch. | Locale và quốc gia đích; Bằng chứng thị trường đích và đầu tư; Bản nguồn khóa; Glossary / số / ngày / đơn vị; Người dịch; Người hiệu đính song ngữ độc lập | Hồ sơ edition được người hiệu đính độc lập chấp nhận hoặc ghi không áp dụng. Budget/rights/route/glossary/reviewer khai trong hồ sơ | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-69 | Local data form / Ma trận bản địa hóa | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Mở sách → F09 → Ma trận bản địa hóa; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã nội dung và source version (bắt buộc); Thị trường / biến thể (bắt buộc); Vấn đề và cách xử lý (bắt buộc); Nguồn địa phương / tham khảo (bắt buộc); Người dịch (bắt buộc); Người hiệu đính song ngữ (bắt buộc); Trạng thái (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |

### F09.3 — Brief / glossary / mẫu dịch

Ghi glossary, quy ước số/ngày và mẫu dịch theo bản nguồn khóa.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-66 | Phase step / Brief / glossary / mẫu dịch | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích. | Ghi glossary, quy ước số/ngày và mẫu dịch theo bản nguồn khóa. | Locale và quốc gia đích; Bằng chứng thị trường đích và đầu tư; Bản nguồn khóa; Glossary / số / ngày / đơn vị; Người dịch; Người hiệu đính song ngữ độc lập | Hồ sơ edition được người hiệu đính độc lập chấp nhận hoặc ghi không áp dụng. Block translation/remix, sample registry, glossary | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-citations-1 | Capability / Kiểm tính toàn vẹn liên kết trích dẫn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tính toàn vẹn liên kết trích dẫn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.spec.ts, src/components/studio/citations-ports.ts, src/lib/citations/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify.ts |
| cap-citations-2 | Capability / Định dạng bibliography/in-text theo style | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Định dạng bibliography/in-text theo style. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/format.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 42 symbol export; được 10 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format.fixtures.spec-helpers.ts, src/lib/citations/format.issues.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/format.ts |
| cap-citations-3 | Capability / Kiểm link nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm link nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-link.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-link.ts |
| cap-citations-4 | Capability / Kiểm ISBN | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ISBN. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-isbn.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-isbn.ts |
| cap-citations-5 | Capability / Đánh số nguồn ổn định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh số nguồn ổn định. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/numbering.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 6 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format-bibliography.ts, src/lib/citations/format-intext.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/numbering.ts |
| cap-citations-6 | Capability / Glossary theo edition | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Glossary theo edition. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/glossary.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 7 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.spec.ts, src/lib/citations/backtranslate-model.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/glossary.ts |
| cap-citations-7 | Capability / Back-translation để đối chiếu bản dịch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Back-translation để đối chiếu bản dịch. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/backtranslate.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.ts, src/lib/citations/backtranslate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/backtranslate.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |

### F09.4 — Đối chiếu song ngữ độc lập

Ghi người dịch và người hiệu đính độc lập; lưu kết quả đối chiếu.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-67 | Phase step / Đối chiếu song ngữ độc lập | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích. | Ghi người dịch và người hiệu đính độc lập; lưu kết quả đối chiếu. | Locale và quốc gia đích; Bằng chứng thị trường đích và đầu tư; Bản nguồn khóa; Glossary / số / ngày / đơn vị; Người dịch; Người hiệu đính song ngữ độc lập | Hồ sơ edition được người hiệu đính độc lập chấp nhận hoặc ghi không áp dụng. Localization content/source/version và reviewer độc lập translator | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-69 | Local data form / Ma trận bản địa hóa | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Mở sách → F09 → Ma trận bản địa hóa; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã nội dung và source version (bắt buộc); Thị trường / biến thể (bắt buộc); Vấn đề và cách xử lý (bắt buộc); Nguồn địa phương / tham khảo (bắt buộc); Người dịch (bắt buộc); Người hiệu đính song ngữ (bắt buộc); Trạng thái (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-citations-1 | Capability / Kiểm tính toàn vẹn liên kết trích dẫn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tính toàn vẹn liên kết trích dẫn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.spec.ts, src/components/studio/citations-ports.ts, src/lib/citations/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify.ts |
| cap-citations-2 | Capability / Định dạng bibliography/in-text theo style | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Định dạng bibliography/in-text theo style. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/format.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 42 symbol export; được 10 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format.fixtures.spec-helpers.ts, src/lib/citations/format.issues.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/format.ts |
| cap-citations-3 | Capability / Kiểm link nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm link nguồn. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-link.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-link.ts |
| cap-citations-4 | Capability / Kiểm ISBN | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ISBN. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/verify-isbn.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/lib/citations/verify-batch.ts, src/lib/citations/verify-registries.ts, src/lib/citations/verify.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/verify-isbn.ts |
| cap-citations-5 | Capability / Đánh số nguồn ổn định | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh số nguồn ổn định. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/numbering.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 6 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/format-bibliography.ts, src/lib/citations/format-intext.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/numbering.ts |
| cap-citations-6 | Capability / Glossary theo edition | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Glossary theo edition. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/glossary.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 7 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.spec.ts, src/lib/citations/backtranslate-model.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/glossary.ts |
| cap-citations-7 | Capability / Back-translation để đối chiếu bản dịch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Back-translation để đối chiếu bản dịch. Đối chiếu nguồn với nội dung. | Rà claim và nguồn, đánh dấu thiếu/sai; ghi người kiểm và sửa trước khóa bản. | Claims, citations, source IDs và edition/ngôn ngữ. | Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. Có mã triển khai tại src/lib/citations/backtranslate.ts. Kiểm liên kết nguồn và báo cáo trích dẫn cần sửa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 4 module thật sự import (src/components/studio/citations-ports.ts, src/lib/citations/backtranslate-model.ts, src/lib/citations/backtranslate.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/citations/backtranslate.ts |

### F09.5 — Thử bản địa và khóa edition

Thử bản địa, ghi phiên bản edition và kết luận. Dịch tự động đầu-cuối chưa hoàn tất.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-68 | Phase step / Thử bản địa và khóa edition | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đánh giá riêng nhu cầu, quyền và chất lượng của từng ngôn ngữ đích. | Thử bản địa, ghi phiên bản edition và kết luận. Dịch tự động đầu-cuối chưa hoàn tất. | Locale và quốc gia đích; Bằng chứng thị trường đích và đầu tư; Bản nguồn khóa; Glossary / số / ngày / đơn vị; Người dịch; Người hiệu đính song ngữ độc lập | Hồ sơ edition được người hiệu đính độc lập chấp nhận hoặc ghi không áp dụng. Edition manager/source stale, test bản địa và lock | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-69 | Local data form / Ma trận bản địa hóa | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Mở sách → F09 → Ma trận bản địa hóa; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã nội dung và source version (bắt buộc); Thị trường / biến thể (bắt buộc); Vấn đề và cách xử lý (bắt buộc); Nguồn địa phương / tham khảo (bắt buộc); Người dịch (bắt buộc); Người hiệu đính song ngữ (bắt buộc); Trạng thái (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Giữ đúng nghĩa, phủ định, số và nguồn; review song ngữ độc lập với dịch giả. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| core-7-editions-ts | Capability / Edition, bản dịch và báo nội dung nguồn thay đổi | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Edition, bản dịch và báo nội dung nguồn thay đổi | Mở sách hoặc Workspace → F09/F14 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/editions.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/editions.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-130 | Translation & Multi-language | Đang làm | `publish/translate.ts`, `citations/backtranslate*`, editions | Nâng cấp edition workflow, cultural review, RTL; chưa tuyên bố hỗ trợ 59 ngôn ngữ Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-141 | AI Market Trend Detector | Đang làm | `market/niche-score.ts`, feasibility bridge, mock data source | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-176 | Translation market case/sample/bilingual review | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F09 target approval riêng; sample trước full; source lock và reviewers |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F10 — Thiết kế và file

Tạo và kiểm file đúng cấu hình phát hành của từng kênh.


### F10.1 — Thiết kế bìa theo định vị

Dùng Cover để chuẩn bị bìa theo định vị; ghi asset và quyền sử dụng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-70 | Phase step / Thiết kế bìa theo định vị | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tạo và kiểm file đúng cấu hình phát hành của từng kênh. | Dùng Cover để chuẩn bị bìa theo định vị; ghi asset và quyền sử dụng. | Edition / locale / formats; Số trang thực (0 nếu chỉ ebook); Cấu hình kênh / version; Kiểm màn hình / font / đọc thử / proof | Artifact có phiên bản, checksum và hồ sơ proof/QC. Cover templates/Visual Bible/spine/bleed math và cover brief | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-75 | Local data form / Kiểm tra file / tiếp cận / proof | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. `not_run` là phép kiểm CHƯA chạy được (thiếu công cụ, thiếu người) — khác hẳn `pass`, và phải ghi lý do ở evidence. | Mở sách → F10 → Kiểm tra file / tiếp cận / proof; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | File / đường dẫn artifact (bắt buộc); Source / renderer version (bắt buộc); Checksum file (bắt buộc); Kênh / cấu hình (bắt buộc); Phép kiểm (bắt buộc); Kết quả (bắt buộc); Người kiểm (bắt buộc); Kết quả / disposition (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-cover-1 | Capability / Brand kit và bộ kiểu thương hiệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Brand kit và bộ kiểu thương hiệu. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/brand-kit.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 30 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/app/api/export/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/brand-kit.ts |
| cap-cover-2 | Capability / Template bìa và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Template bìa và preview. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/templates.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 8 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/templates.ts |
| cap-cover-3 | Capability / Tính spine, bleed và wrap theo KDP | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính spine, bleed và wrap theo KDP. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/kdp-math.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 32 symbol export; được 11 module thật sự import (src/app/api/cover/render/route.ts, src/components/studio/cover-preview.tsx, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/kdp-math.ts |
| cap-cover-4 | Capability / Prompt tạo artwork theo brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt tạo artwork theo brief. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/prompts.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 4 module thật sự import (src/app/api/cover/prompts/route.ts, src/components/studio/cover-tab.tsx, src/lib/cover/cover.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/prompts.ts |
| cap-cover-5 | Capability / Sinh ảnh qua provider và báo thiếu cấu hình | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sinh ảnh qua provider và báo thiếu cấu hình. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/image-provider.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 5 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/image-provider.ts |
| cap-cover-6 | Capability / Render bìa PNG/PDF | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render bìa PNG/PDF. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/render.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/app/api/cover/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/render.ts |
| cap-cover-7 | Capability / Visual Bible cho hình ảnh nhất quán | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Visual Bible cho hình ảnh nhất quán. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/visual-bible.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/visual-bible.ts |
| cap-illustration-1 | Capability / Render minh họa và bảo toàn bằng chứng artifact | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render minh họa và bảo toàn bằng chứng artifact. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Mô tả minh họa, Visual Bible, scene, quyền và provider ảnh. | Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. Có mã triển khai tại src/lib/illustration/render.ts. Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 3 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/illustration/index.ts, src/lib/illustration/render.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/illustration/render.ts |

### F10.2 — Render nội thất và số trang thật

Ghi cấu hình nội thất và số trang từ file render thực, không từ số chữ ước tính.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-71 | Phase step / Render nội thất và số trang thật | Đã xong ✓ đã rà / Đo layout và phân trang trên máy | Tạo và kiểm file đúng cấu hình phát hành của từng kênh. | Ghi cấu hình nội thất và số trang từ file render thực, không từ số chữ ước tính. | Edition / locale / formats; Số trang thực (0 nếu chỉ ebook); Cấu hình kênh / version; Kiểm màn hình / font / đọc thử / proof | Artifact có phiên bản, checksum và hồ sơ proof/QC. Geometry/đo DOM/phân trang và số trang thực được nối vào bản in và bìa. | Cần proof thiết bị/nhà in và xác nhận font thực tế trước phát hành; máy không tự biết mực in đậm nhạt, mép cắt lệch hay bìa bóng. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/pagination/flow.ts; docs/TODO.md; src/lib/pagination/measure.ts; src/app/app/projects/[id]/print/page.tsx; src/lib/pagination/pagination.spec.ts |
| legacy-75 | Local data form / Kiểm tra file / tiếp cận / proof | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. `not_run` là phép kiểm CHƯA chạy được (thiếu công cụ, thiếu người) — khác hẳn `pass`, và phải ghi lý do ở evidence. | Mở sách → F10 → Kiểm tra file / tiếp cận / proof; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | File / đường dẫn artifact (bắt buộc); Source / renderer version (bắt buộc); Checksum file (bắt buộc); Kênh / cấu hình (bắt buộc); Phép kiểm (bắt buộc); Kết quả (bắt buộc); Người kiểm (bắt buộc); Kết quả / disposition (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-cover-1 | Capability / Brand kit và bộ kiểu thương hiệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Brand kit và bộ kiểu thương hiệu. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/brand-kit.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 30 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/app/api/export/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/brand-kit.ts |
| cap-cover-2 | Capability / Template bìa và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Template bìa và preview. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/templates.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 8 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/templates.ts |
| cap-cover-3 | Capability / Tính spine, bleed và wrap theo KDP | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính spine, bleed và wrap theo KDP. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/kdp-math.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 32 symbol export; được 11 module thật sự import (src/app/api/cover/render/route.ts, src/components/studio/cover-preview.tsx, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/kdp-math.ts |
| cap-cover-4 | Capability / Prompt tạo artwork theo brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt tạo artwork theo brief. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/prompts.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 4 module thật sự import (src/app/api/cover/prompts/route.ts, src/components/studio/cover-tab.tsx, src/lib/cover/cover.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/prompts.ts |
| cap-cover-5 | Capability / Sinh ảnh qua provider và báo thiếu cấu hình | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sinh ảnh qua provider và báo thiếu cấu hình. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/image-provider.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 5 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/image-provider.ts |
| cap-cover-6 | Capability / Render bìa PNG/PDF | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render bìa PNG/PDF. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/render.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/app/api/cover/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/render.ts |
| cap-cover-7 | Capability / Visual Bible cho hình ảnh nhất quán | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Visual Bible cho hình ảnh nhất quán. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/visual-bible.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/visual-bible.ts |
| cap-pagination-1 | Capability / Tính geometry khổ in và vùng chữ | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Tính geometry khổ in và vùng chữ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/geometry.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 6 module thật sự import (src/app/app/projects/[id]/print/page.tsx, src/components/studio/cover-tab.tsx, src/lib/pagination/direction.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/geometry.ts |
| cap-pagination-2 | Capability / Đo kích thước block bằng layout | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Đo kích thước block bằng layout. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/measure.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/app/app/projects/[id]/print/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/measure.ts |
| cap-pagination-3 | Capability / Phân trang theo kết quả đo | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Phân trang theo kết quả đo. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/flow.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/pagination/measure.ts, src/lib/pagination/pagination.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/flow.ts |
| cap-formats-1 | Capability / Xuất Word DOCX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Word DOCX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/docx.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/docx.ts |
| cap-formats-2 | Capability / Xuất Markdown | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Markdown. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-3 | Capability / Xuất HTML bản đọc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML bản đọc. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-4 | Capability / Xuất PowerPoint PPTX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất PowerPoint PPTX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-5 | Capability / Xuất HTML slides | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML slides. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-6 | Capability / Xuất công cụ HTML tương tác | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất công cụ HTML tương tác. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/interactive-pdf-html.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/interactive-pdf-html.ts |
| cap-formats-7 | Capability / Xuất gói đào tạo SCORM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất gói đào tạo SCORM. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training-package.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/training.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training-package.ts |
| cap-formats-8 | Capability / Layout profiles theo mục đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Layout profiles theo mục đích. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/layout-profiles.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 18 symbol export; được 13 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/layout-profiles.ts |
| cap-formats-9 | Capability / Tóm tắt và chuyển dạng nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tóm tắt và chuyển dạng nội dung. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/summary-modes.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/summary-modes.ts |
| cap-formats-10 | Capability / Gói học tập và lesson assets | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói học tập và lesson assets. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training.ts |
| core-14-style-normalize-ts | Capability / Chuẩn hóa style bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Chuẩn hóa style bản thảo | Mở sách hoặc Workspace → F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/style-normalize.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/style-normalize.ts; docs/TODO.md |

### F10.3 — Tạo EPUB / PDF theo kênh

Dùng Export tạo định dạng hiện hỗ trợ; lưu phiên bản/profile và kết quả kiểm.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-72 | Phase step / Tạo EPUB / PDF theo kênh | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tạo và kiểm file đúng cấu hình phát hành của từng kênh. | Dùng Export tạo định dạng hiện hỗ trợ; lưu phiên bản/profile và kết quả kiểm. | Edition / locale / formats; Số trang thực (0 nếu chỉ ebook); Cấu hình kênh / version; Kiểm màn hình / font / đọc thử / proof | Artifact có phiên bản, checksum và hồ sơ proof/QC. Export EPUB/DOCX/PDF có nguồn canonical; SCORM/PPT/XLSX helpers | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-75 | Local data form / Kiểm tra file / tiếp cận / proof | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. `not_run` là phép kiểm CHƯA chạy được (thiếu công cụ, thiếu người) — khác hẳn `pass`, và phải ghi lý do ở evidence. | Mở sách → F10 → Kiểm tra file / tiếp cận / proof; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | File / đường dẫn artifact (bắt buộc); Source / renderer version (bắt buộc); Checksum file (bắt buộc); Kênh / cấu hình (bắt buộc); Phép kiểm (bắt buộc); Kết quả (bắt buộc); Người kiểm (bắt buộc); Kết quả / disposition (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-pagination-1 | Capability / Tính geometry khổ in và vùng chữ | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Tính geometry khổ in và vùng chữ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/geometry.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 6 module thật sự import (src/app/app/projects/[id]/print/page.tsx, src/components/studio/cover-tab.tsx, src/lib/pagination/direction.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/geometry.ts |
| cap-pagination-2 | Capability / Đo kích thước block bằng layout | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Đo kích thước block bằng layout. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/measure.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/app/app/projects/[id]/print/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/measure.ts |
| cap-pagination-3 | Capability / Phân trang theo kết quả đo | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Phân trang theo kết quả đo. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/flow.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/pagination/measure.ts, src/lib/pagination/pagination.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/flow.ts |
| cap-formats-1 | Capability / Xuất Word DOCX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Word DOCX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/docx.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/docx.ts |
| cap-formats-2 | Capability / Xuất Markdown | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Markdown. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-3 | Capability / Xuất HTML bản đọc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML bản đọc. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-4 | Capability / Xuất PowerPoint PPTX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất PowerPoint PPTX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-5 | Capability / Xuất HTML slides | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML slides. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-6 | Capability / Xuất công cụ HTML tương tác | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất công cụ HTML tương tác. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/interactive-pdf-html.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/interactive-pdf-html.ts |
| cap-formats-7 | Capability / Xuất gói đào tạo SCORM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất gói đào tạo SCORM. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training-package.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/training.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training-package.ts |
| cap-formats-8 | Capability / Layout profiles theo mục đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Layout profiles theo mục đích. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/layout-profiles.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 18 symbol export; được 13 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/layout-profiles.ts |
| cap-formats-9 | Capability / Tóm tắt và chuyển dạng nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tóm tắt và chuyển dạng nội dung. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/summary-modes.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/summary-modes.ts |
| cap-formats-10 | Capability / Gói học tập và lesson assets | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói học tập và lesson assets. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training.ts |
| cap-export-1 | Capability / Kiểm cấu trúc EPUB và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc EPUB và preview. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/validators.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/workspace/export-checks.tsx, src/lib/epub-images.spec.ts, src/lib/export/epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/validators.ts |
| cap-export-2 | Capability / Chạy EPUBCheck khi có Java và công cụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy EPUBCheck khi có Java và công cụ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/epubcheck.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 2 module thật sự import (src/lib/export/epubcheck.spec.ts, scripts/verify-epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/epubcheck.ts |
| cap-export-3 | Capability / Kiểm checksum và khóa artifact chống thay file | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Kiểm checksum và khóa artifact chống thay file. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/integrity.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/workspace/export-checks.tsx, src/components/workspace/export-tab.tsx, src/lib/epub.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/integrity.ts |
| cap-illustration-1 | Capability / Render minh họa và bảo toàn bằng chứng artifact | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render minh họa và bảo toàn bằng chứng artifact. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Mô tả minh họa, Visual Bible, scene, quyền và provider ảnh. | Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. Có mã triển khai tại src/lib/illustration/render.ts. Artwork thật khi provider chạy, ghi rõ thiếu provider và nguồn asset. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 3 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/illustration/index.ts, src/lib/illustration/render.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/illustration/render.ts |
| core-1-gen-canonical-ts | Capability / Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Bàn giao ba chiều Draft → Workspace, giữ chỉnh sửa và xung đột | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical.ts; docs/TODO.md |
| core-8-epub-ts | Capability / Xuất EPUB reflowable từ bản nguồn | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Xuất EPUB reflowable từ bản nguồn | Mở sách hoặc Workspace → F10/F12 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/epub.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/epub.ts; docs/TODO.md |
| core-9-epub-ts | Capability / Nhúng ảnh thật vào EPUB với manifest | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Nhúng ảnh thật vào EPUB với manifest | Mở sách hoặc Workspace → F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/epub.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/epub.ts; docs/TODO.md |
| core-11-channel-kdp-ts | Capability / Kiểm hồ sơ kênh KDP trước xuất/phát hành | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Kiểm hồ sơ kênh KDP trước xuất/phát hành | Mở sách hoặc Workspace → F10/F12 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/channel-kdp.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/channel-kdp.ts; docs/TODO.md |

### F10.4 — Kiểm tiếp cận tự động và thủ công

Ghi kiểm tiếp cận tự động và kiểm đọc thủ công theo thiết bị.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-73 | Phase step / Kiểm tiếp cận tự động và thủ công | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tạo và kiểm file đúng cấu hình phát hành của từng kênh. | Ghi kiểm tiếp cận tự động và kiểm đọc thủ công theo thiết bị. | Edition / locale / formats; Số trang thực (0 nếu chỉ ebook); Cấu hình kênh / version; Kiểm màn hình / font / đọc thử / proof | Artifact có phiên bản, checksum và hồ sơ proof/QC. A11y rules và F10 records EPUBCheck/ACE/screen reader | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-75 | Local data form / Kiểm tra file / tiếp cận / proof | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. `not_run` là phép kiểm CHƯA chạy được (thiếu công cụ, thiếu người) — khác hẳn `pass`, và phải ghi lý do ở evidence. | Mở sách → F10 → Kiểm tra file / tiếp cận / proof; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | File / đường dẫn artifact (bắt buộc); Source / renderer version (bắt buộc); Checksum file (bắt buộc); Kênh / cấu hình (bắt buộc); Phép kiểm (bắt buộc); Kết quả (bắt buộc); Người kiểm (bắt buộc); Kết quả / disposition (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-export-1 | Capability / Kiểm cấu trúc EPUB và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc EPUB và preview. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/validators.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/workspace/export-checks.tsx, src/lib/epub-images.spec.ts, src/lib/export/epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/validators.ts |
| cap-export-2 | Capability / Chạy EPUBCheck khi có Java và công cụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy EPUBCheck khi có Java và công cụ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/epubcheck.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 2 module thật sự import (src/lib/export/epubcheck.spec.ts, scripts/verify-epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/epubcheck.ts |
| cap-export-3 | Capability / Kiểm checksum và khóa artifact chống thay file | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Kiểm checksum và khóa artifact chống thay file. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/integrity.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/workspace/export-checks.tsx, src/components/workspace/export-tab.tsx, src/lib/epub.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/integrity.ts |

### F10.5 — Proofread / proof rồi khóa checksum

Ghi proof, người kiểm và checksum trước khi duyệt. Render/QC tự động đầy đủ vẫn đang hoàn thiện.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-74 | Phase step / Proofread / proof rồi khóa checksum | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Tạo và kiểm file đúng cấu hình phát hành của từng kênh. | Ghi proof, người kiểm và checksum trước khi duyệt. Render/QC tự động đầy đủ vẫn đang hoàn thiện. | Edition / locale / formats; Số trang thực (0 nếu chỉ ebook); Cấu hình kênh / version; Kiểm màn hình / font / đọc thử / proof | Artifact có phiên bản, checksum và hồ sơ proof/QC. Checksum/version/proof/manual results được quản lý | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-75 | Local data form / Kiểm tra file / tiếp cận / proof | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. `not_run` là phép kiểm CHƯA chạy được (thiếu công cụ, thiếu người) — khác hẳn `pass`, và phải ghi lý do ở evidence. | Mở sách → F10 → Kiểm tra file / tiếp cận / proof; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | File / đường dẫn artifact (bắt buộc); Source / renderer version (bắt buộc); Checksum file (bắt buộc); Kênh / cấu hình (bắt buộc); Phép kiểm (bắt buộc); Kết quả (bắt buộc); Người kiểm (bắt buộc); Kết quả / disposition (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Checksum và source version phải khớp preview. Ghi riêng kiểm tự động và kiểm thủ công. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-cover-1 | Capability / Brand kit và bộ kiểu thương hiệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Brand kit và bộ kiểu thương hiệu. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/brand-kit.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 30 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/app/api/export/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/brand-kit.ts |
| cap-cover-2 | Capability / Template bìa và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Template bìa và preview. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/templates.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 8 module thật sự import (src/app/api/cover/prompts/route.ts, src/app/api/cover/render/route.ts, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/templates.ts |
| cap-cover-3 | Capability / Tính spine, bleed và wrap theo KDP | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính spine, bleed và wrap theo KDP. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/kdp-math.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 32 symbol export; được 11 module thật sự import (src/app/api/cover/render/route.ts, src/components/studio/cover-preview.tsx, src/components/studio/cover-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/kdp-math.ts |
| cap-cover-4 | Capability / Prompt tạo artwork theo brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt tạo artwork theo brief. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/prompts.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 4 module thật sự import (src/app/api/cover/prompts/route.ts, src/components/studio/cover-tab.tsx, src/lib/cover/cover.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/prompts.ts |
| cap-cover-5 | Capability / Sinh ảnh qua provider và báo thiếu cấu hình | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sinh ảnh qua provider và báo thiếu cấu hình. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/image-provider.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 5 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/image-provider.ts |
| cap-cover-6 | Capability / Render bìa PNG/PDF | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Render bìa PNG/PDF. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/render.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/app/api/cover/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/render.ts |
| cap-cover-7 | Capability / Visual Bible cho hình ảnh nhất quán | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Visual Bible cho hình ảnh nhất quán. Chuẩn bị thiết kế bìa theo định vị. | Chọn hướng bìa và thông tin; ghi asset/quyền/kết quả kiểm trong F10. | Tiêu đề, tác giả, brand kit, kích thước, giấy và số trang đo thật. | Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. Có mã triển khai tại src/lib/cover/visual-bible.ts. Preview bìa, prompt, thông số spine/bleed và file render khi renderer được cấu hình. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/illustrations/render/route.ts, src/lib/cover/cover.spec.ts, src/lib/cover/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/cover/visual-bible.ts |
| cap-pagination-1 | Capability / Tính geometry khổ in và vùng chữ | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Tính geometry khổ in và vùng chữ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/geometry.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 6 module thật sự import (src/app/app/projects/[id]/print/page.tsx, src/components/studio/cover-tab.tsx, src/lib/pagination/direction.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/geometry.ts |
| cap-pagination-2 | Capability / Đo kích thước block bằng layout | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Đo kích thước block bằng layout. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/measure.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 1 module thật sự import (src/app/app/projects/[id]/print/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/measure.ts |
| cap-pagination-3 | Capability / Phân trang theo kết quả đo | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Phân trang theo kết quả đo. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Blocks, khổ in, margins, font và đo layout trên trình duyệt. | Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. Có mã triển khai tại src/lib/pagination/flow.ts. Trang được phân chia, số trang thực đo, geometry và cảnh báo overflow. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 2 module thật sự import (src/lib/pagination/measure.ts, src/lib/pagination/pagination.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/pagination/flow.ts |
| cap-formats-1 | Capability / Xuất Word DOCX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Word DOCX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/docx.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/docx.ts |
| cap-formats-2 | Capability / Xuất Markdown | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Markdown. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-3 | Capability / Xuất HTML bản đọc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML bản đọc. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-4 | Capability / Xuất PowerPoint PPTX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất PowerPoint PPTX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-5 | Capability / Xuất HTML slides | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML slides. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-6 | Capability / Xuất công cụ HTML tương tác | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất công cụ HTML tương tác. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/interactive-pdf-html.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/interactive-pdf-html.ts |
| cap-formats-7 | Capability / Xuất gói đào tạo SCORM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất gói đào tạo SCORM. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training-package.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/training.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training-package.ts |
| cap-formats-8 | Capability / Layout profiles theo mục đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Layout profiles theo mục đích. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/layout-profiles.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 18 symbol export; được 13 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/layout-profiles.ts |
| cap-formats-9 | Capability / Tóm tắt và chuyển dạng nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tóm tắt và chuyển dạng nội dung. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/summary-modes.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/summary-modes.ts |
| cap-formats-10 | Capability / Gói học tập và lesson assets | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói học tập và lesson assets. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training.ts |
| cap-export-1 | Capability / Kiểm cấu trúc EPUB và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc EPUB và preview. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/validators.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/workspace/export-checks.tsx, src/lib/epub-images.spec.ts, src/lib/export/epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/validators.ts |
| cap-export-2 | Capability / Chạy EPUBCheck khi có Java và công cụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy EPUBCheck khi có Java và công cụ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/epubcheck.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 2 module thật sự import (src/lib/export/epubcheck.spec.ts, scripts/verify-epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/epubcheck.ts |
| cap-export-3 | Capability / Kiểm checksum và khóa artifact chống thay file | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Kiểm checksum và khóa artifact chống thay file. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/integrity.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/workspace/export-checks.tsx, src/components/workspace/export-tab.tsx, src/lib/epub.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/integrity.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| core-2-gen-canonical-store-ts | Capability / Lưu bản nguồn với kiểm revision và CAS | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Lưu bản nguồn với kiểm revision và CAS | Mở sách hoặc Workspace → F07/F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/gen/canonical-store.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/gen/canonical-store.ts; docs/TODO.md |
| core-12-readiness-ts | Capability / Pre-flight và mức sẵn sàng bản thảo | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Pre-flight và mức sẵn sàng bản thảo | Mở sách hoặc Workspace → F08/F10 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/readiness.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/readiness.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-123 | AI Editorial 5-pass | Đang làm | `quality/`, `quality-ops/`, `audit.ts`, `debate/` | Nâng cấp bốn lớp nghiệm thu SOP, genre rubric, proofread artifact |
| legacy-124 | Cover & Print Physics | Đang làm | `cover/`, `cover-tab.tsx` | Giữ math/templates; nối page count thực và renderer |
| legacy-125 | Interior Formatting | Đang làm | `formats/layout-profiles.ts`, `epub.ts`, print view, `workers/render/` | Nâng cấp pagination/gutter/typography/validation; không viết lại export Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-130 | Translation & Multi-language | Đang làm | `publish/translate.ts`, `citations/backtranslate*`, editions | Nâng cấp edition workflow, cultural review, RTL; chưa tuyên bố hỗ trợ 59 ngôn ngữ Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-136 | Free Tools Suite | Chưa làm | Hàm bible/metadata/cover/pricing có thể tái sử dụng | Chưa có hub 25+ tools; chọn vài tool hữu ích, không nhân bản logic Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-143 | Illustration Consistency | Đang làm | `cover/visual-bible.ts` | Gộp #4; reference sheet + conditioning + QC/retry còn thiếu Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-146 | POD API | Chưa làm | Print calculations/packages, chưa thấy connector POD hoàn chỉnh | Gộp #7; thêm adapter provider đã xác minh, proof approval và order/status Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-148 | A/B Covers & Blurbs | Đang làm | Review có A/B draft; sales có thử giá | Gộp #4/#13; A/B nội dung draft không phải thử conversion bìa/blurb; thêm experiment Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-158 | Canonical project, CAS/stale, metadata/export chung | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Concurrent edit bị phát hiện; source/approval/artifact versions đúng |
| legacy-177 | Interior/page count/bìa/RTL/a11y/proof | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F10 file opens/validation/manual read; hashes/preview khớp, spine từ actual pages |
| cap-pwa-1 | Điều kiện cài app: manifest, icon PNG 192/512 và service worker | Đã xong ✓ đã rà | Có mã triển khai tại src/lib/pwa/install-readiness.ts. Điều kiện cài app (PWA) và trang fallback offline có câu giải thích. | Còn thiếu phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-11 | Metadata bản nguồn và hồ sơ kênh | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/metadata-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-13 | Dự án Workspace và lưu cục bộ | Đã xong ✓ đã rà | Màn hình/luồng tại src/lib/store.ts. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-24 | Trang xem/in bản thảo đã phân trang | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/projects/[id]/print/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F11 — Sản phẩm bổ sung và audio

Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ.


### F11.1 — Chọn SKU có nhu cầu

Chọn SKU đã có nhu cầu và ghi phạm vi cần làm.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-76 | Phase step / Chọn SKU có nhu cầu | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ. | Chọn SKU đã có nhu cầu và ghi phạm vi cần làm. | SKU, phạm vi và nhu cầu; Hỗ trợ / công suất / version phần mềm; Giọng, account, quyền, consent và tuyến phân phối nếu audio | Hồ sơ thử sản phẩm, quyền giọng và kết quả QC từng SKU. F03 product needs + F11 chọn/hoãn nhánh; optional decision | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-podcast-1 | Capability / Chuyển nội dung sách thành gói tập podcast | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển nội dung sách thành gói tập podcast. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/pack.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/pack.ts |
| cap-podcast-2 | Capability / Chia chương thành tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chia chương thành tập. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/episode-split.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/episode-split.spec.ts, src/lib/podcast/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/episode-split.ts |
| cap-podcast-3 | Capability / Show notes có nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Show notes có nguồn. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/show-notes.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/show-notes.ts |
| cap-podcast-4 | Capability / RSS podcast và metadata | Đang làm / Có implementation; mức nối UI/live tùy công cụ | RSS podcast và metadata. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/rss.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/rss.ts |
| cap-podcast-5 | Capability / Đánh dấu vị trí quảng cáo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh dấu vị trí quảng cáo. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/ad-markers.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.spec.ts, src/components/studio/podcast-ports.ts, src/lib/podcast/ad-markers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/ad-markers.ts |

### F11.2 — Mẫu / bản trống / reset / hướng dẫn

Chuẩn bị mẫu, bản trống, reset và hướng dẫn cùng version.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-77 | Phase step / Mẫu / bản trống / reset / hướng dẫn | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ. | Chuẩn bị mẫu, bản trống, reset và hướng dẫn cùng version. | SKU, phạm vi và nhu cầu; Hỗ trợ / công suất / version phần mềm; Giọng, account, quyền, consent và tuyến phân phối nếu audio | Hồ sơ thử sản phẩm, quyền giọng và kết quả QC từng SKU. Course/remix/template/tool libraries và registry test/reset/instructions | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-81 | Local data form / Kiểm thử sản phẩm bổ sung | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Mở sách → F11 → Kiểm thử sản phẩm bổ sung; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Phần mềm / thiết bị / version (bắt buộc); Trường hợp điển hình / biên / nhập sai (bắt buộc); Kết quả (bắt buộc); Hướng dẫn / reset / hỗ trợ (bắt buộc); Người kiểm (bắt buộc); Bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-formats-1 | Capability / Xuất Word DOCX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Word DOCX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/docx.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/docx.ts |
| cap-formats-2 | Capability / Xuất Markdown | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Markdown. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-3 | Capability / Xuất HTML bản đọc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML bản đọc. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-4 | Capability / Xuất PowerPoint PPTX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất PowerPoint PPTX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-5 | Capability / Xuất HTML slides | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML slides. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-6 | Capability / Xuất công cụ HTML tương tác | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất công cụ HTML tương tác. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/interactive-pdf-html.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/interactive-pdf-html.ts |
| cap-formats-7 | Capability / Xuất gói đào tạo SCORM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất gói đào tạo SCORM. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training-package.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/training.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training-package.ts |
| cap-formats-8 | Capability / Layout profiles theo mục đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Layout profiles theo mục đích. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/layout-profiles.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 18 symbol export; được 13 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/layout-profiles.ts |
| cap-formats-9 | Capability / Tóm tắt và chuyển dạng nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tóm tắt và chuyển dạng nội dung. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/summary-modes.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/summary-modes.ts |
| cap-formats-10 | Capability / Gói học tập và lesson assets | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói học tập và lesson assets. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training.ts |
| cap-podcast-1 | Capability / Chuyển nội dung sách thành gói tập podcast | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển nội dung sách thành gói tập podcast. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/pack.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/pack.ts |
| cap-podcast-2 | Capability / Chia chương thành tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chia chương thành tập. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/episode-split.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/episode-split.spec.ts, src/lib/podcast/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/episode-split.ts |
| cap-podcast-3 | Capability / Show notes có nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Show notes có nguồn. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/show-notes.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/show-notes.ts |
| cap-podcast-4 | Capability / RSS podcast và metadata | Đang làm / Có implementation; mức nối UI/live tùy công cụ | RSS podcast và metadata. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/rss.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/rss.ts |
| cap-podcast-5 | Capability / Đánh dấu vị trí quảng cáo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh dấu vị trí quảng cáo. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/ad-markers.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.spec.ts, src/components/studio/podcast-ports.ts, src/lib/podcast/ad-markers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/ad-markers.ts |
| core-10-course-ts | Capability / Cấu trúc khóa học chuyển từ nội dung sách | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Cấu trúc khóa học chuyển từ nội dung sách | Mở sách hoặc Workspace → F11 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/course.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/course.ts; docs/TODO.md |

### F11.3 — Thử tài khoản khách và dữ liệu biên

Ghi kết quả thử với tài khoản khách và dữ liệu biên.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-78 | Phase step / Thử tài khoản khách và dữ liệu biên | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ. | Ghi kết quả thử với tài khoản khách và dữ liệu biên. | SKU, phạm vi và nhu cầu; Hỗ trợ / công suất / version phần mềm; Giọng, account, quyền, consent và tuyến phân phối nếu audio | Hồ sơ thử sản phẩm, quyền giọng và kết quả QC từng SKU. Product tests platform/version/edge/pass/fail/reviewer | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-81 | Local data form / Kiểm thử sản phẩm bổ sung | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Mở sách → F11 → Kiểm thử sản phẩm bổ sung; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Phần mềm / thiết bị / version (bắt buộc); Trường hợp điển hình / biên / nhập sai (bắt buộc); Kết quả (bắt buộc); Hướng dẫn / reset / hỗ trợ (bắt buộc); Người kiểm (bắt buộc); Bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |

### F11.4 — Kiểm audio account / voice / route

Với audio, ghi account, quyền giọng, consent và route phân phối.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-79 | Phase step / Kiểm audio account / voice / route | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ. | Với audio, ghi account, quyền giọng, consent và route phân phối. | SKU, phạm vi và nhu cầu; Hỗ trợ / công suất / version phần mềm; Giọng, account, quyền, consent và tuyến phân phối nếu audio | Hồ sơ thử sản phẩm, quyền giọng và kết quả QC từng SKU. Audio voice/account/route/rights fields và adapter TTS | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-audio-1 | Capability / Lấy đúng bản nguồn Workspace cho narration | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lấy đúng bản nguồn Workspace cho narration. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/book-source.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/book-source.ts |
| cap-audio-2 | Capability / Danh mục voice theo provider/locale/chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh mục voice theo provider/locale/chất lượng. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/voices.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 16 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/components/studio/podcast-ports.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/voices.ts |
| cap-audio-3 | Capability / Xây narration script và retail sample | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xây narration script và retail sample. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/script.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 29 symbol export; được 11 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/cost.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/script.ts |
| cap-audio-4 | Capability / Ước tính chi phí và finished hours | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí và finished hours. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/cost.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 8 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/cost.ts |
| cap-audio-5 | Capability / Adapter TTS OpenAI/Google/ElevenLabs/Azure | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter TTS OpenAI/Google/ElevenLabs/Azure. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/providers.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 28 symbol export; được 11 module thật sự import (src/app/api/audio/sample/route.spec.ts, src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/providers.ts |
| cap-audio-6 | Capability / Kiểm tương thích ngôn ngữ và engine | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tương thích ngôn ngữ và engine. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/language.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/language.ts |
| cap-audio-7 | Capability / Engine điều phối sinh audio | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine điều phối sinh audio. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/engine.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/engine.ts |
| cap-audio-8 | Capability / Chuẩn hóa và ghép chương/M4B bằng ffmpeg | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn hóa và ghép chương/M4B bằng ffmpeg. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/ffmpeg-plan.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/ffmpeg-plan.ts |
| cap-audio-9 | Capability / Kiểm ngưỡng ACX và số đo âm thanh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ngưỡng ACX và số đo âm thanh. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/acx.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 12 module thật sự import (src/components/studio/audio-tab.tsx, src/components/workspace/audio-qc-panel.tsx, src/components/workspace/export-checks.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/acx.ts |
| cap-audio-10 | Capability / Điều phối pipeline audio và kết quả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối pipeline audio và kết quả. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/pipeline.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/pipeline.ts |
| cap-audio-11 | Capability / Ước lượng tốc độ nói theo ngôn ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước lượng tốc độ nói theo ngôn ngữ. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/speech-rate.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 7 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/speech-rate.ts |
| cap-voice-1 | Capability / Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/voice-brief.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/voice-brief.ts |
| cap-voice-2 | Capability / Chép lời audio được phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chép lời audio được phép. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcribe.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/transcribe.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcribe.ts |
| cap-voice-3 | Capability / Tách transcript và speaker | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tách transcript và speaker. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcript.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcript.ts |
| cap-voice-4 | Capability / Chuyển lời nói thành ghi chú | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển lời nói thành ghi chú. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/notes.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/notes.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/notes.ts |
| cap-voice-5 | Capability / Map interview từ giọng nói vào Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Map interview từ giọng nói vào Brief. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/interview-map.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 5 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/interview-map.ts |

### F11.5 — Duyệt mẫu, nghe toàn bộ và QC

Ghi duyệt mẫu và nghe/QC toàn bộ trước phát hành. Worker audio thật chưa hoàn tất.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-80 | Phase step / Duyệt mẫu, nghe toàn bộ và QC | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Chỉ bổ sung công cụ hoặc audio khi có nhu cầu và khả năng hỗ trợ. | Ghi duyệt mẫu và nghe/QC toàn bộ trước phát hành. Worker audio thật chưa hoàn tất. | SKU, phạm vi và nhu cầu; Hỗ trợ / công suất / version phần mềm; Giọng, account, quyền, consent và tuyến phân phối nếu audio | Hồ sơ thử sản phẩm, quyền giọng và kết quả QC từng SKU. Audio sample/QC helpers/media worker và nghe duyệt trong hồ sơ | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-81 | Local data form / Kiểm thử sản phẩm bổ sung | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Mở sách → F11 → Kiểm thử sản phẩm bổ sung; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Phần mềm / thiết bị / version (bắt buộc); Trường hợp điển hình / biên / nhập sai (bắt buộc); Kết quả (bắt buộc); Hướng dẫn / reset / hỗ trợ (bắt buộc); Người kiểm (bắt buộc); Bằng chứng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Dữ liệu mẫu, bản trống, reset và thử tài khoản khách mới; không giao quyền sửa file gốc. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-audio-1 | Capability / Lấy đúng bản nguồn Workspace cho narration | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lấy đúng bản nguồn Workspace cho narration. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/book-source.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/book-source.ts |
| cap-audio-2 | Capability / Danh mục voice theo provider/locale/chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh mục voice theo provider/locale/chất lượng. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/voices.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 16 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/components/studio/podcast-ports.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/voices.ts |
| cap-audio-3 | Capability / Xây narration script và retail sample | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xây narration script và retail sample. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/script.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 29 symbol export; được 11 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/cost.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/script.ts |
| cap-audio-4 | Capability / Ước tính chi phí và finished hours | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí và finished hours. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/cost.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 8 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/cost.ts |
| cap-audio-5 | Capability / Adapter TTS OpenAI/Google/ElevenLabs/Azure | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter TTS OpenAI/Google/ElevenLabs/Azure. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/providers.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 28 symbol export; được 11 module thật sự import (src/app/api/audio/sample/route.spec.ts, src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/providers.ts |
| cap-audio-6 | Capability / Kiểm tương thích ngôn ngữ và engine | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tương thích ngôn ngữ và engine. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/language.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/language.ts |
| cap-audio-7 | Capability / Engine điều phối sinh audio | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine điều phối sinh audio. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/engine.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/engine.ts |
| cap-audio-8 | Capability / Chuẩn hóa và ghép chương/M4B bằng ffmpeg | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn hóa và ghép chương/M4B bằng ffmpeg. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/ffmpeg-plan.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/ffmpeg-plan.ts |
| cap-audio-9 | Capability / Kiểm ngưỡng ACX và số đo âm thanh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ngưỡng ACX và số đo âm thanh. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/acx.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 12 module thật sự import (src/components/studio/audio-tab.tsx, src/components/workspace/audio-qc-panel.tsx, src/components/workspace/export-checks.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/acx.ts |
| cap-audio-10 | Capability / Điều phối pipeline audio và kết quả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối pipeline audio và kết quả. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/pipeline.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/pipeline.ts |
| cap-audio-11 | Capability / Ước lượng tốc độ nói theo ngôn ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước lượng tốc độ nói theo ngôn ngữ. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/speech-rate.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 7 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/speech-rate.ts |
| cap-voice-1 | Capability / Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị voice brief từ transcript; chưa có dịch vụ clone giọng. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/voice-brief.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/voice-brief.ts |
| cap-voice-2 | Capability / Chép lời audio được phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chép lời audio được phép. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcribe.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/transcribe.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcribe.ts |
| cap-voice-3 | Capability / Tách transcript và speaker | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tách transcript và speaker. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/transcript.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/transcript.ts |
| cap-voice-4 | Capability / Chuyển lời nói thành ghi chú | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển lời nói thành ghi chú. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/notes.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/notes.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/notes.ts |
| cap-voice-5 | Capability / Map interview từ giọng nói vào Brief | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Map interview từ giọng nói vào Brief. Chuẩn bị cấu hình và quyền của giọng đọc. | Ghi consent, phạm vi sử dụng và người kiểm mẫu tại F11; provider sinh giọng thật và pipeline audio chưa hoàn tất. | Audio/transcript được phép, ghi chú và câu trả lời phỏng vấn. | Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. Có mã triển khai tại src/lib/voice/interview-map.ts. Voice brief, ghi chú và dữ liệu phỏng vấn; khác tính năng clone giọng và consent F05. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 5 module thật sự import (src/components/studio/voice-ports.ts, src/lib/voice/index.ts, src/lib/voice/interview-map.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/voice/interview-map.ts |
| cap-podcast-1 | Capability / Chuyển nội dung sách thành gói tập podcast | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển nội dung sách thành gói tập podcast. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/pack.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/pack.ts |
| cap-podcast-2 | Capability / Chia chương thành tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chia chương thành tập. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/episode-split.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/episode-split.spec.ts, src/lib/podcast/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/episode-split.ts |
| cap-podcast-3 | Capability / Show notes có nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Show notes có nguồn. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/show-notes.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/show-notes.ts |
| cap-podcast-4 | Capability / RSS podcast và metadata | Đang làm / Có implementation; mức nối UI/live tùy công cụ | RSS podcast và metadata. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/rss.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/rss.ts |
| cap-podcast-5 | Capability / Đánh dấu vị trí quảng cáo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh dấu vị trí quảng cáo. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/ad-markers.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.spec.ts, src/components/studio/podcast-ports.ts, src/lib/podcast/ad-markers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/ad-markers.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-126 | Audiobook Studio | Đang làm | `audio/`, `audio-tab.tsx`, `workers/media/` | Nối pipeline end-to-end, job và QC trên file thật |
| legacy-129 | Niche Book Generators | Đang làm | `blueprints/`, `batch/`, `marketplace/` | Mở rộng blueprint có nhu cầu và rubric; chưa coi đủ 18+ loại |
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-134 | Content Repurposing | Đang làm | `refs/`, `publish/translate.ts` remix, course, formats, `podcast/` | Giữ đầu ra; nối source-to-book recipes, thêm transcript/OCR khi cần Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-136 | Free Tools Suite | Chưa làm | Hàm bible/metadata/cover/pricing có thể tái sử dụng | Chưa có hub 25+ tools; chọn vài tool hữu ích, không nhân bản logic Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-139 | AI Voice Cloning | Đang làm | `audio/voices.ts` clone entry, capability flags | Gộp #6; thêm provider enrollment, consent, upload/sample/lifecycle Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-178 | Tool/course delivery QA, copy/reset/support | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F11 fresh customer dùng được; test edge/missing inputs; không sửa master/shared secret |
| legacy-179 | Audio account/voice/route eligibility, sample/jobs/QC | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Route/rights/sample approval trước full cost; nghe toàn bộ và file QC; clone consent |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F12 — Phân phối và bán trực tiếp

Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành.


### F12.1 — Chọn route / kiểm độc quyền

Ghi route, điều kiện độc quyền và bằng chứng quyền phát hành.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-82 | Phase step / Chọn route / kiểm độc quyền | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành. | Ghi route, điều kiện độc quyền và bằng chứng quyền phát hành. | Metadata và artifact versions; Payment / tax responsibility / payout verified; Nguồn tài nguyên và kiểm liên kết theo kênh; Giao thư / unsubscribe / SPF DKIM DMARC nếu dùng email; External IDs / ngày mua thực tế / bằng chứng phát hành | Release candidate, metadata, quyền liên hệ và bằng chứng giao đơn. Route/SKU/market/format/exclusivity/eligibility/policy/date checks | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-87 | Local data form / Ma trận kênh và độc quyền | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Một tuyến cung cấp cho mỗi tựa/ngôn ngữ/định dạng/kênh. Eligibility giọng AI phải được xác nhận. | Mở sách → F12 → Ma trận kênh và độc quyền; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kênh (bắt buộc); Thị trường (bắt buộc); Định dạng (bắt buộc); Nhà phân phối / tuyến gửi (bắt buộc); Độc quyền (bắt buộc); Bắt đầu; Kết thúc / gia hạn; Quyền / tài khoản / giọng được phép (bắt buộc); Nguồn policy / hợp đồng (bắt buộc); Ngày kiểm (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Một tuyến cung cấp cho mỗi tựa/ngôn ngữ/định dạng/kênh. Eligibility giọng AI phải được xác nhận. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-audio-1 | Capability / Lấy đúng bản nguồn Workspace cho narration | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lấy đúng bản nguồn Workspace cho narration. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/book-source.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/book-source.ts |
| cap-audio-2 | Capability / Danh mục voice theo provider/locale/chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh mục voice theo provider/locale/chất lượng. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/voices.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 16 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/components/studio/podcast-ports.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/voices.ts |
| cap-audio-3 | Capability / Xây narration script và retail sample | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xây narration script và retail sample. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/script.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 29 symbol export; được 11 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/cost.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/script.ts |
| cap-audio-4 | Capability / Ước tính chi phí và finished hours | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí và finished hours. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/cost.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 8 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/cost.ts |
| cap-audio-5 | Capability / Adapter TTS OpenAI/Google/ElevenLabs/Azure | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter TTS OpenAI/Google/ElevenLabs/Azure. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/providers.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 28 symbol export; được 11 module thật sự import (src/app/api/audio/sample/route.spec.ts, src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/providers.ts |
| cap-audio-6 | Capability / Kiểm tương thích ngôn ngữ và engine | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tương thích ngôn ngữ và engine. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/language.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/language.ts |
| cap-audio-7 | Capability / Engine điều phối sinh audio | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine điều phối sinh audio. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/engine.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/engine.ts |
| cap-audio-8 | Capability / Chuẩn hóa và ghép chương/M4B bằng ffmpeg | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn hóa và ghép chương/M4B bằng ffmpeg. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/ffmpeg-plan.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/ffmpeg-plan.ts |
| cap-audio-9 | Capability / Kiểm ngưỡng ACX và số đo âm thanh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ngưỡng ACX và số đo âm thanh. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/acx.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 12 module thật sự import (src/components/studio/audio-tab.tsx, src/components/workspace/audio-qc-panel.tsx, src/components/workspace/export-checks.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/acx.ts |
| cap-audio-10 | Capability / Điều phối pipeline audio và kết quả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối pipeline audio và kết quả. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/pipeline.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/pipeline.ts |
| cap-audio-11 | Capability / Ước lượng tốc độ nói theo ngôn ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước lượng tốc độ nói theo ngôn ngữ. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/speech-rate.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 7 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/speech-rate.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| cap-marketplace-1 | Capability / Kiểm điều kiện listing trước đưa lên chợ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện listing trước đưa lên chợ. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/checklist.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/checklist.ts |
| cap-marketplace-2 | Capability / Gói blueprint để bán/cấp phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói blueprint để bán/cấp phép. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/blueprint.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/blueprint.ts |
| cap-marketplace-3 | Capability / Dự toán lợi nhuận listing | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán lợi nhuận listing. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/profit.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/profit.ts |

### F12.2 — Metadata / ISBN / giá / disclosure

Nhập metadata, ISBN nếu cần, giá và disclosure theo kênh.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-83 | Phase step / Metadata / ISBN / giá / disclosure | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành. | Nhập metadata, ISBN nếu cần, giá và disclosure theo kênh. | Metadata và artifact versions; Payment / tax responsibility / payout verified; Nguồn tài nguyên và kiểm liên kết theo kênh; Giao thư / unsubscribe / SPF DKIM DMARC nếu dùng email; External IDs / ngày mua thực tế / bằng chứng phát hành | Release candidate, metadata, quyền liên hệ và bằng chứng giao đơn. Metadata/pricing/disclosure/ISBN, blueprint validator | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |
| cap-marketplace-1 | Capability / Kiểm điều kiện listing trước đưa lên chợ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện listing trước đưa lên chợ. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/checklist.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/checklist.ts |
| cap-marketplace-2 | Capability / Gói blueprint để bán/cấp phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói blueprint để bán/cấp phép. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/blueprint.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/blueprint.ts |
| cap-marketplace-3 | Capability / Dự toán lợi nhuận listing | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán lợi nhuận listing. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/profit.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/profit.ts |
| core-11-channel-kdp-ts | Capability / Kiểm hồ sơ kênh KDP trước xuất/phát hành | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Kiểm hồ sơ kênh KDP trước xuất/phát hành | Mở sách hoặc Workspace → F10/F12 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/channel-kdp.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/channel-kdp.ts; docs/TODO.md |

### F12.3 — Kiểm tài nguyên và quyền email

Kiểm tài nguyên, liên kết và consent email; ghi kết quả kiểm nguồn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-84 | Phase step / Kiểm tài nguyên và quyền email | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành. | Kiểm tài nguyên, liên kết và consent email; ghi kết quả kiểm nguồn. | Metadata và artifact versions; Payment / tax responsibility / payout verified; Nguồn tài nguyên và kiểm liên kết theo kênh; Giao thư / unsubscribe / SPF DKIM DMARC nếu dùng email; External IDs / ngày mua thực tế / bằng chứng phát hành | Release candidate, metadata, quyền liên hệ và bằng chứng giao đơn. KDP resource rules; marketing khác transactional consent | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-89 | Local data form / Quyền nhận email | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Email giao dịch không mặc định cho phép marketing. Lưu mã khách thay thông tin riêng tư. | Mở sách → F12 → Quyền nhận email; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã khách / nhóm (bắt buộc); Mục đích (bắt buộc); Trạng thái (bắt buộc); Cơ sở / bằng chứng đồng ý (bắt buộc); Ngày ghi nhận (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Email giao dịch không mặc định cho phép marketing. Lưu mã khách thay thông tin riêng tư. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-90 | Local data form / Liên kết tài nguyên theo kênh | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Link trong Kindle phải hỗ trợ nội dung; không yêu cầu thông tin khách hàng hoặc dẫn tới cửa hàng ebook ngoài Amazon. Kiểm thủ công đích đến và ghi nguồn chính sách. | Mở sách → F12 → Liên kết tài nguyên theo kênh; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Tên tự mô tả (bắt buộc); Kênh (bắt buộc); Định dạng (bắt buộc); Đường dẫn (bắt buộc); Đích đến (bắt buộc); Mục đích (bắt buộc); Nguồn chính sách / bằng chứng kiểm tra (bắt buộc); Ngày kiểm tra (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Link trong Kindle phải hỗ trợ nội dung; không yêu cầu thông tin khách hàng hoặc dẫn tới cửa hàng ebook ngoài Amazon. Kiểm thủ công đích đến và ghi nguồn chính sách. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-trust-1 | Capability / Ghi provenance và đối chiếu nguồn nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ghi provenance và đối chiếu nguồn nội dung. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/provenance.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 14 symbol export; được 8 module thật sự import (src/components/studio/trust-ports.ts, src/lib/books-store.ts, src/lib/ops/audit-redaction.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/provenance.ts |
| cap-trust-2 | Capability / Kiểm điều kiện/policy phát hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện/policy phát hành. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/policy.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 7 module thật sự import (src/components/studio/trust-ports.ts, src/lib/trust/gate.spec.ts, src/lib/trust/gate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/policy.ts |
| cap-trust-3 | Capability / Sao lưu và khôi phục hồ sơ tin cậy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Sao lưu và khôi phục hồ sơ tin cậy. Quản lý quyền, consent và điều kiện sử dụng. | Ghi bằng chứng quyền theo tài nguyên; đối chiếu hồ sơ F05 trước sản xuất/phát hành. | Quyền, consent, provenance, disclosure, policy và phạm vi kênh. | Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. Có mã triển khai tại src/lib/trust/backup.ts. Cảnh báo tuân thủ, hồ sơ quyền và kết quả kiểm trước phát hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/components/studio/trust-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/trust/backup.ts |

### F12.4 — Thử đơn trọn vòng

Ghi đơn thử từ trả tiền tới nhận file, hỗ trợ và hoàn tiền; billing app không thay bán sách D2C.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-85 | Phase step / Thử đơn trọn vòng | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành. | Ghi đơn thử từ trả tiền tới nhận file, hỗ trợ và hoàn tiền; billing app không thay bán sách D2C. | Metadata và artifact versions; Payment / tax responsibility / payout verified; Nguồn tài nguyên và kiểm liên kết theo kênh; Giao thư / unsubscribe / SPF DKIM DMARC nếu dùng email; External IDs / ngày mua thực tế / bằng chứng phát hành | Release candidate, metadata, quyền liên hệ và bằng chứng giao đơn. Test-order registry; Stripe Checkout gói/credits app | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-88 | Local data form / Thử đơn và đối soát | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Đi hết thanh toán, giao, tải, dùng, hỗ trợ và hoàn tiền trong môi trường thử hợp lệ. | Mở sách → F12 → Thử đơn và đối soát; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã đơn (không ghi dữ liệu cá nhân) (bắt buộc); SKU (bắt buộc); Kênh (bắt buộc); Kết quả toàn vòng (bắt buộc); Thanh toán / giao / tải / hỗ trợ / hoàn tiền / đối soát (bắt buộc); Người kiểm (bắt buộc); Ngày thử (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Đi hết thanh toán, giao, tải, dùng, hỗ trợ và hoàn tiền trong môi trường thử hợp lệ. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-marketplace-1 | Capability / Kiểm điều kiện listing trước đưa lên chợ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện listing trước đưa lên chợ. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/checklist.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/checklist.ts |
| cap-marketplace-2 | Capability / Gói blueprint để bán/cấp phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói blueprint để bán/cấp phép. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/blueprint.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/blueprint.ts |
| cap-marketplace-3 | Capability / Dự toán lợi nhuận listing | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán lợi nhuận listing. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/profit.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/profit.ts |
| cap-setup-1 | Capability / Kiểm hiện diện và loại cấu hình an toàn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm hiện diện và loại cấu hình an toàn. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/config.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/app/api/setup/status/route.ts, src/lib/setup/setup.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/config.ts |
| cap-setup-2 | Capability / Danh sách việc thủ công theo phase và tiêu chí hoàn tất | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh sách việc thủ công theo phase và tiêu chí hoàn tất. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/tasks.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/setup/status/route.ts, src/components/setup/setup-panel.tsx, src/lib/pwa/pwa-setup-check.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/tasks.ts |

### F12.5 — Duyệt release candidate và phát hành

Ghi artifact/external ID/ngày có thể mua và duyệt release. Adapter phát hành/D2C đầu-cuối chưa hoàn tất.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-86 | Phase step / Duyệt release candidate và phát hành | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Kiểm đường phân phối và một đơn mua trọn vòng trước phát hành. | Ghi artifact/external ID/ngày có thể mua và duyệt release. Adapter phát hành/D2C đầu-cuối chưa hoàn tất. | Metadata và artifact versions; Payment / tax responsibility / payout verified; Nguồn tài nguyên và kiểm liên kết theo kênh; Giao thư / unsubscribe / SPF DKIM DMARC nếu dùng email; External IDs / ngày mua thực tế / bằng chứng phát hành | Release candidate, metadata, quyền liên hệ và bằng chứng giao đơn. Release evidence/version/external IDs; publish route/packaging có nền | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-formats-1 | Capability / Xuất Word DOCX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Word DOCX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/docx.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/docx.ts |
| cap-formats-2 | Capability / Xuất Markdown | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất Markdown. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-3 | Capability / Xuất HTML bản đọc | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML bản đọc. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/multi-export.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 14 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/api-auth/openapi.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/multi-export.ts |
| cap-formats-4 | Capability / Xuất PowerPoint PPTX | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất PowerPoint PPTX. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-5 | Capability / Xuất HTML slides | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất HTML slides. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/slides.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/slides.ts |
| cap-formats-6 | Capability / Xuất công cụ HTML tương tác | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất công cụ HTML tương tác. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/interactive-pdf-html.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/formats.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/interactive-pdf-html.ts |
| cap-formats-7 | Capability / Xuất gói đào tạo SCORM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất gói đào tạo SCORM. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training-package.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 3 symbol export; được 3 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/training.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training-package.ts |
| cap-formats-8 | Capability / Layout profiles theo mục đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Layout profiles theo mục đích. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/layout-profiles.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 18 symbol export; được 13 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/layout-profiles.ts |
| cap-formats-9 | Capability / Tóm tắt và chuyển dạng nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tóm tắt và chuyển dạng nội dung. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/summary-modes.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/components/studio/export-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/summary-modes.ts |
| cap-formats-10 | Capability / Gói học tập và lesson assets | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói học tập và lesson assets. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bản nguồn đã chọn, layout profile, brand kit và định dạng xuất. | File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. Có mã triển khai tại src/lib/formats/training.ts. File xuất, gói ZIP, manifest và cảnh báo; summary AI cần model. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/app/api/export/route.ts, src/app/api/v1/books/[id]/export/route.ts, src/lib/formats/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/formats/training.ts |
| cap-export-1 | Capability / Kiểm cấu trúc EPUB và preview | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm cấu trúc EPUB và preview. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/validators.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 4 module thật sự import (src/components/workspace/export-checks.tsx, src/lib/epub-images.spec.ts, src/lib/export/epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/validators.ts |
| cap-export-2 | Capability / Chạy EPUBCheck khi có Java và công cụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chạy EPUBCheck khi có Java và công cụ. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/epubcheck.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 2 module thật sự import (src/lib/export/epubcheck.spec.ts, scripts/verify-epubcheck.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/epubcheck.ts |
| cap-export-3 | Capability / Kiểm checksum và khóa artifact chống thay file | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Kiểm checksum và khóa artifact chống thay file. Tạo file từ bản nguồn đã chọn. | Bàn giao và xử lý xung đột với Workspace; chọn định dạng, tải file và ghi QC/checksum F10. | Bytes của artifact, manifest, version và kết quả validator/người kiểm. | Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. Có mã triển khai tại src/lib/export/integrity.ts. Checksum, kiểm EPUB/preview, kết quả pass/fail/not_run và dấu khóa. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/workspace/export-checks.tsx, src/components/workspace/export-tab.tsx, src/lib/epub.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/export/integrity.ts |
| cap-audio-1 | Capability / Lấy đúng bản nguồn Workspace cho narration | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lấy đúng bản nguồn Workspace cho narration. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/book-source.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 1 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/book-source.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/book-source.ts |
| cap-audio-2 | Capability / Danh mục voice theo provider/locale/chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh mục voice theo provider/locale/chất lượng. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/voices.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 16 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/components/studio/podcast-ports.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/voices.ts |
| cap-audio-3 | Capability / Xây narration script và retail sample | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xây narration script và retail sample. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/script.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 29 symbol export; được 11 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/cost.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/script.ts |
| cap-audio-4 | Capability / Ước tính chi phí và finished hours | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước tính chi phí và finished hours. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/cost.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 8 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/cost.ts |
| cap-audio-5 | Capability / Adapter TTS OpenAI/Google/ElevenLabs/Azure | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter TTS OpenAI/Google/ElevenLabs/Azure. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/providers.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 28 symbol export; được 11 module thật sự import (src/app/api/audio/sample/route.spec.ts, src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/providers.ts |
| cap-audio-6 | Capability / Kiểm tương thích ngôn ngữ và engine | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm tương thích ngôn ngữ và engine. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/language.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 7 module thật sự import (src/app/api/audio/sample/route.ts, src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/language.ts |
| cap-audio-7 | Capability / Engine điều phối sinh audio | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Engine điều phối sinh audio. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/engine.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/engine.ts |
| cap-audio-8 | Capability / Chuẩn hóa và ghép chương/M4B bằng ffmpeg | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn hóa và ghép chương/M4B bằng ffmpeg. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/ffmpeg-plan.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 3 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/ffmpeg-plan.ts |
| cap-audio-9 | Capability / Kiểm ngưỡng ACX và số đo âm thanh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm ngưỡng ACX và số đo âm thanh. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/acx.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 12 module thật sự import (src/components/studio/audio-tab.tsx, src/components/workspace/audio-qc-panel.tsx, src/components/workspace/export-checks.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/acx.ts |
| cap-audio-10 | Capability / Điều phối pipeline audio và kết quả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối pipeline audio và kết quả. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/pipeline.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/pipeline.ts |
| cap-audio-11 | Capability / Ước lượng tốc độ nói theo ngôn ngữ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Ước lượng tốc độ nói theo ngôn ngữ. Chuẩn bị kịch bản và cấu hình sản phẩm nghe. | Ghi giọng, quyền, route và QC tại F11; tạo/lưu audio thật tự động chưa hoàn tất. | Bản nguồn, ngôn ngữ, giọng, quyền/consent, speed và route audio. | Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. Có mã triển khai tại src/lib/audio/speech-rate.ts. Kịch bản, chi phí/thời lượng, mẫu TTS, kế hoạch ffmpeg và kiểm QC. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 7 module thật sự import (src/components/studio/audio-tab.tsx, src/lib/audio/audio.spec.ts, src/lib/audio/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/audio/speech-rate.ts |
| cap-publish-1 | Capability / Dự toán giá và royalty theo kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán giá và royalty theo kênh. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/pricing.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 11 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/marketplace/index.ts, src/lib/marketplace/profit.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/pricing.ts |
| cap-publish-2 | Capability / Kiểm lịch phát hành theo điều kiện route | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm lịch phát hành theo điều kiện route. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/release-calendar.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/publish-tab.tsx, src/inngest/functions/scheduled-recipes.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/release-calendar.ts |
| cap-publish-3 | Capability / Gợi ý metadata bằng AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gợi ý metadata bằng AI. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/metadata-optimizer.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 17 symbol export; được 8 module thật sự import (src/app/api/publish/metadata/route.ts, src/components/studio/publish-tab.tsx, src/lib/market/author-site.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/metadata-optimizer.ts |
| cap-publish-4 | Capability / Dịch nội dung theo ngôn ngữ đích | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dịch nội dung theo ngôn ngữ đích. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/translate.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/citations/backtranslate-model.ts, src/lib/citations/glossary.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/translate.ts |
| cap-publish-5 | Capability / Adapter Gumroad và payload sản phẩm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Gumroad và payload sản phẩm. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/gumroad.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/publish/gumroad/route.ts, src/components/studio/publish-storefronts-panel.tsx, src/components/studio/publish-tab.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/gumroad.ts |
| cap-publish-6 | Capability / Adapter Shopify | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Shopify. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/shopify.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/gumroad.ts, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/shopify.ts |
| cap-publish-7 | Capability / Adapter Etsy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Adapter Etsy. Chuẩn bị metadata, giá và route. | Rà điều kiện kênh, ghi đơn thử/release F12; adapter phát hành thật chưa hoàn tất. | Metadata, ISBN/ASIN, locale, SKU, route, giá, quyền và token kênh. | Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. Có mã triển khai tại src/lib/publish/etsy.ts. Metadata/giá/lịch release, bản dịch, payload hoặc kết quả adapter kênh. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 2 module thật sự import (src/components/studio/publish-tab.tsx, src/lib/publish/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/publish/etsy.ts |
| cap-marketplace-1 | Capability / Kiểm điều kiện listing trước đưa lên chợ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện listing trước đưa lên chợ. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/checklist.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/checklist.ts |
| cap-marketplace-2 | Capability / Gói blueprint để bán/cấp phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói blueprint để bán/cấp phép. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/blueprint.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/blueprint.ts |
| cap-marketplace-3 | Capability / Dự toán lợi nhuận listing | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán lợi nhuận listing. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/profit.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/profit.ts |
| cap-setup-1 | Capability / Kiểm hiện diện và loại cấu hình an toàn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm hiện diện và loại cấu hình an toàn. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/config.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 1 symbol export; được 2 module thật sự import (src/app/api/setup/status/route.ts, src/lib/setup/setup.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/config.ts |
| cap-setup-2 | Capability / Danh sách việc thủ công theo phase và tiêu chí hoàn tất | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Danh sách việc thủ công theo phase và tiêu chí hoàn tất. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/setup; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Cấu hình server hiện có, phiên owner/admin và tổ chức đã chọn. | Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. Có mã triển khai tại src/lib/setup/tasks.ts. Bảng thiếu/có/chưa kiểm, hướng dẫn việc thủ công và bản tải kết quả không chứa secrets. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/app/api/setup/status/route.ts, src/components/setup/setup-panel.tsx, src/lib/pwa/pwa-setup-check.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/setup/tasks.ts |
| core-8-epub-ts | Capability / Xuất EPUB reflowable từ bản nguồn | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Xuất EPUB reflowable từ bản nguồn | Mở sách hoặc Workspace → F10/F12 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/epub.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/epub.ts; docs/TODO.md |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-126 | Audiobook Studio | Đang làm | `audio/`, `audio-tab.tsx`, `workers/media/` | Nối pipeline end-to-end, job và QC trên file thật |
| legacy-127 | Publishing & Commerce | Đang làm | `publish/`, API publish, `sales/` | Giữ commerce/pricing; hoàn thiện release workflow và connector capability |
| legacy-128 | Marketing & SEO | Đang làm | `publish/metadata-optimizer.ts`, `launch/` | Giữ; nối campaign vào release đã duyệt và kết quả đo Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-132 | Legal & Compliance | Đang làm | `trust/`, `factcheck/`, `disclosure.ts`, sensitivity | Nâng cấp risk/rights workflow; dùng cổng hiện có |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-136 | Free Tools Suite | Chưa làm | Hàm bible/metadata/cover/pricing có thể tái sử dụng | Chưa có hub 25+ tools; chọn vài tool hữu ích, không nhân bản logic Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-139 | AI Voice Cloning | Đang làm | `audio/voices.ts` clone entry, capability flags | Gộp #6; thêm provider enrollment, consent, upload/sample/lifecycle Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-146 | POD API | Chưa làm | Print calculations/packages, chưa thấy connector POD hoàn chỉnh | Gộp #7; thêm adapter provider đã xác minh, proof approval và order/status Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-150 | AI Legal & Copyright Checker | Đang làm | Policy, similarity, evidence/provenance | Gộp #12; nâng risk classification và rights evidence, không xây checker thứ hai Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-154 | Interactive Reader App | Chưa làm | EPUB/PDF tương tác, PWA readiness checker | Reader runtime/branching/sync chưa có; hoãn app tương tác đầy đủ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-171 | Pricing/calendar/link policy discrepancies | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Versioned rules; KDP size/VAT/limits và link compliance test cases; code sửa ở đợt triển khai |
| legacy-180 | Routes/exclusivity/ISBN/metadata/final release | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F12 không duplicate route/conflicting rights; candidate version duyệt; publish status có evidence |
| legacy-181 | D2C order/delivery/refund/consent/email setup checklist | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Một đơn đi hết vòng; marketing consent khác transactional; link rules theo channel |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-11 | Metadata bản nguồn và hồ sơ kênh | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/workspace/metadata-tab.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-21 | Trang thiết lập và danh sách việc cần làm tay | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/setup/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-23 | Trang marketing Book80 và liên kết vào app | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F13 — Ra mắt và thử 90 ngày

Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được.


### F13.1 — Chuẩn bị trước 28 ngày

Lập việc từ trước 28 ngày và người phụ trách trong lịch ra mắt.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-91 | Phase step / Chuẩn bị trước 28 ngày | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Lập việc từ trước 28 ngày và người phụ trách trong lịch ra mắt. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. Launch kit/calendar/checklist và cửa sổ prelaunch Campaign được nối vào lịch SOP. | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/launch/sop-schedule.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-97 | Local data form / Lịch ra mắt và ARC | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Mở sách → F13 → Lịch ra mắt và ARC; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Công việc (bắt buộc); Khoảng (bắt buộc); Người phụ trách (bắt buộc); Ngày (bắt buộc); Hạn mức (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Trạng thái (bắt buộc); Kết quả / quyền gửi (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-ai-1 | Capability / Chọn model chính theo tổ chức và từng vai trò AI | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chọn model chính theo tổ chức và từng vai trò AI. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/org-overrides.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 3 module thật sự import (src/app/api/v1/models/overrides/route.ts, src/lib/ai/org-overrides.spec.ts, src/lib/gen/wire.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/org-overrides.ts |
| cap-ai-2 | Capability / Xem chuỗi model chính và fallback theo tier | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xem chuỗi model chính và fallback theo tier. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/routing.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 5 symbol export; được 13 module thật sự import (src/app/app/models/page.tsx, src/components/studio/model-overrides-panel.tsx, src/lib/ai/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/routing.ts |
| cap-ai-3 | Capability / Danh mục model, trạng thái hoạt động, context và giá tham chiếu | Đã xong ✓ đã rà / Registry là nguồn giá/context duy nhất cho định tuyến | Danh mục model, trạng thái hoạt động, context và giá tham chiếu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/registry.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Giá đổi theo thời gian; `npm run config:models` đối chiếu catalog và báo lệch >5%. Còn provider khác ngoài OpenRouter chưa có giá cập nhật tự động. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/registry.ts; scripts/check-model-catalog.mjs; src/lib/ai/sample-tiers.spec.ts |
| cap-ai-4 | Capability / OpenRouter và adapter OpenAI/Anthropic/Google/Ollama | Đang làm / Có implementation; mức nối UI/live tùy công cụ | OpenRouter và adapter OpenAI/Anthropic/Google/Ollama. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/providers.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/ai/index.ts, src/lib/ai/openrouter-routing.spec.ts, src/lib/ai/providers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/providers.ts |
| cap-ai-5 | Capability / Retry, fallback, JSON output và ghi usage không chứa nội dung | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Retry, fallback, JSON output và ghi usage không chứa nội dung. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/router.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 23 symbol export; được 7 module thật sự import (src/app/api/review/session/route.ts, src/lib/ai/index.ts, src/lib/ai/provider-smoke.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/router.ts |
| cap-ai-6 | Capability / Mã hóa và giải mã khóa BYOK theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mã hóa và giải mã khóa BYOK theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/byok.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/app/api/v1/byok/route.ts, src/lib/ai/index.ts, src/lib/ai/router.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/byok.ts |
| cap-ai-7 | Capability / Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi | Đang làm ✓ đã rà / Bảng đối chiếu có code + test; chưa có nơi hiện cho người dùng | Đối chiếu phase/công cụ với tác vụ và model thực sự được gọi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/phase-models.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Đo bằng probe-capabilities.mjs: 4 symbol của phase-models.ts chỉ xuất hiện trong spec của chính nó, 0 chỗ khác. Bảng đối chiếu không được màn hình nào hiện ra. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/ai/phase-models.ts; src/lib/ai/phase-models.spec.ts; scripts/features/probe-capabilities.mjs |
| cap-ai-8 | Capability / Ước tính giá tác vụ theo token | Đang làm / Logic/công cụ tại máy — có mã, chưa rà riêng | Ước tính giá tác vụ theo token. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/models; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, vai trò tác vụ, model, tier và khóa nhà cung cấp ở máy chủ/BYOK. | Cấu hình model chính/dự phòng, usage token và chi phí ước tính. Có mã triển khai tại src/lib/ai/cost.ts. Cấu hình model chính/dự phòng, usage token và chi phí ước tính. | Phạm vi đã xong là chức năng tại máy; nghiệm thu nội dung và tích hợp ngoài vẫn làm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/lib/ai/cost.spec.ts, src/lib/ai/index.ts, src/lib/sales/margin.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ai/cost.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |
| cap-podcast-1 | Capability / Chuyển nội dung sách thành gói tập podcast | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển nội dung sách thành gói tập podcast. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/pack.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 3 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/pack.ts |
| cap-podcast-2 | Capability / Chia chương thành tập | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chia chương thành tập. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/episode-split.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 12 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/episode-split.spec.ts, src/lib/podcast/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/episode-split.ts |
| cap-podcast-3 | Capability / Show notes có nguồn | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Show notes có nguồn. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/show-notes.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 5 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/show-notes.ts |
| cap-podcast-4 | Capability / RSS podcast và metadata | Đang làm / Có implementation; mức nối UI/live tùy công cụ | RSS podcast và metadata. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/rss.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/podcast-ports.ts, src/lib/podcast/index.ts, src/lib/podcast/pack.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/rss.ts |
| cap-podcast-5 | Capability / Đánh dấu vị trí quảng cáo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh dấu vị trí quảng cáo. Chuẩn bị tập và nội dung từ bản nguồn. | Chọn nội dung, lập kịch bản tập, kiểm quyền và ghi thử mẫu F11. Tạo audio/lưu/phát hành tự động chưa hoàn tất. | Chương nguồn, người dẫn, số tập và mục đích phát hành. | Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. Có mã triển khai tại src/lib/podcast/ad-markers.ts. Kịch bản tập và gói nội dung; phát hành podcast/audio thật cần integration. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 11 symbol export; được 7 module thật sự import (src/components/studio/podcast-ports.spec.ts, src/components/studio/podcast-ports.ts, src/lib/podcast/ad-markers.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/podcast/ad-markers.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-integrations-1 | Capability / Adapter Google Calendar | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Google Calendar. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/google-calendar.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/google-calendar.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-2 | Capability / Adapter Notion | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Notion. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/notion.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/notion.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-3 | Capability / Adapter Asana | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Asana. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/asana.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/asana.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-4 | Capability / Adapter Linear | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Linear. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/linear.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/linear.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-5 | Capability / Xác minh chữ ký webhook | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác minh chữ ký webhook. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/signing.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/integrations/_lib/slack.ts, src/app/api/integrations/_lib/telegram.ts, src/app/api/integrations/routes.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/signing.ts |
| cap-integrations-6 | Capability / Điều phối webhook integrations | Đang làm ✓ đã rà / WebhookSink có code; không được import ở bất kỳ đâu | Điều phối webhook integrations. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/webhook.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Đo: grep toàn src/ không có import nào của lib/integrations/webhook. Ba route có chữ 'webhook' (Slack, Telegram, Stripe) là webhook RIÊNG, không dùng file này — cần tránh đọc nhầm là đã nối. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/webhook.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-7 | Capability / Lịch cron và check-in | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lịch cron và check-in. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/cron.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 3 module thật sự import (src/inngest/functions/scheduled-recipes.ts, src/lib/integrations/index.ts, src/lib/integrations/integrations.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/cron.ts |

### F13.2 — ARC tự nguyện và thử giao

Ghi ARC tự nguyện và kiểm giao; không tự động gửi thư hoặc yêu cầu review tích cực.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-92 | Phase step / ARC tự nguyện và thử giao | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Ghi ARC tự nguyện và kiểm giao; không tự động gửi thư hoặc yêu cầu review tích cực. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. ARC voluntary, reviewer/task/evidence trong hồ sơ | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-97 | Local data form / Lịch ra mắt và ARC | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Mở sách → F13 → Lịch ra mắt và ARC; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Công việc (bắt buộc); Khoảng (bắt buộc); Người phụ trách (bắt buộc); Ngày (bắt buộc); Hạn mức (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Trạng thái (bắt buộc); Kết quả / quyền gửi (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |

### F13.3 — Ngày 0–7 theo dõi hỗ trợ

Ghi vấn đề hỗ trợ và khả năng mua/giao trong ngày 0–7.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-93 | Phase step / Ngày 0–7 theo dõi hỗ trợ | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Ghi vấn đề hỗ trợ và khả năng mua/giao trong ngày 0–7. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. Day0 thực tế, launch tasks và notes hỗ trợ | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-97 | Local data form / Lịch ra mắt và ARC | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Mở sách → F13 → Lịch ra mắt và ARC; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Công việc (bắt buộc); Khoảng (bắt buộc); Người phụ trách (bắt buộc); Ngày (bắt buộc); Hạn mức (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Trạng thái (bắt buộc); Kết quả / quyền gửi (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Ngày 0 là ngày mua thực tế. ARC là đánh giá tự nguyện, không thưởng hoặc yêu cầu số sao. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-integrations-1 | Capability / Adapter Google Calendar | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Google Calendar. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/google-calendar.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/google-calendar.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-2 | Capability / Adapter Notion | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Notion. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/notion.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/notion.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-3 | Capability / Adapter Asana | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Asana. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/asana.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/asana.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-4 | Capability / Adapter Linear | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Linear. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/linear.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/linear.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-5 | Capability / Xác minh chữ ký webhook | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác minh chữ ký webhook. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/signing.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/integrations/_lib/slack.ts, src/app/api/integrations/_lib/telegram.ts, src/app/api/integrations/routes.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/signing.ts |
| cap-integrations-6 | Capability / Điều phối webhook integrations | Đang làm ✓ đã rà / WebhookSink có code; không được import ở bất kỳ đâu | Điều phối webhook integrations. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/webhook.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Đo: grep toàn src/ không có import nào của lib/integrations/webhook. Ba route có chữ 'webhook' (Slack, Telegram, Stripe) là webhook RIÊNG, không dùng file này — cần tránh đọc nhầm là đã nối. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/webhook.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-7 | Capability / Lịch cron và check-in | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lịch cron và check-in. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/cron.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 3 module thật sự import (src/inngest/functions/scheduled-recipes.ts, src/lib/integrations/index.ts, src/lib/integrations/integrations.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/cron.ts |

### F13.4 — Ngày 8–30 thử thay đổi có kiểm soát

Đặt giả thuyết và ngưỡng trước thử ngày 8–30; chỉ đổi điều đã lên kế hoạch.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-94 | Phase step / Ngày 8–30 thử thay đổi có kiểm soát | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Đặt giả thuyết và ngưỡng trước thử ngày 8–30; chỉ đổi điều đã lên kế hoạch. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. Experiment registry/window/spend/design; không tự tăng ngân sách | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-98 | Local data form / Thử nghiệm nhu cầu và thương mại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Mở sách → F13 → Thử nghiệm nhu cầu và thương mại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Giả thuyết (bắt buộc); Mã ngách / SKU (bắt buộc); Cách thử (bắt buộc); Thiết kế (bắt buộc); Thông điệp / mẫu / thay đổi (bắt buộc); Đối tượng đủ điều kiện (bắt buộc); Lượt tiếp cận đủ điều kiện (bắt buộc); Đăng ký quan tâm; Người dùng mẫu; Đơn mua (bắt buộc); Chi tiêu (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Hạn mức thử (bắt buộc); Cửa sổ đo và attribution (bắt buộc); Yếu tố nhiễu / hạn chế (bắt buộc); Kết luận và lần thử tiếp theo (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |

### F13.5 — Ngày 31–90 đo đóng góp / mua tiếp

Nhập kết quả, đóng góp, mua tiếp và cửa sổ attribution ngày 31–90.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-95 | Phase step / Ngày 31–90 đo đóng góp / mua tiếp | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Nhập kết quả, đóng góp, mua tiếp và cửa sổ attribution ngày 31–90. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. Sales/portfolio contribution, cohort fields và import primitives | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts |
| legacy-98 | Local data form / Thử nghiệm nhu cầu và thương mại | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Mở sách → F13 → Thử nghiệm nhu cầu và thương mại; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Giả thuyết (bắt buộc); Mã ngách / SKU (bắt buộc); Cách thử (bắt buộc); Thiết kế (bắt buộc); Thông điệp / mẫu / thay đổi (bắt buộc); Đối tượng đủ điều kiện (bắt buộc); Lượt tiếp cận đủ điều kiện (bắt buộc); Đăng ký quan tâm; Người dùng mẫu; Đơn mua (bắt buộc); Chi tiêu (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Hạn mức thử (bắt buộc); Cửa sổ đo và attribution (bắt buộc); Yếu tố nhiễu / hạn chế (bắt buộc); Kết luận và lần thử tiếp theo (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Email chỉ là quan tâm. Phân biệt A/B có kiểm soát với so sánh trước sau; không tự đăng trang hoặc chạy quảng cáo. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |
| cap-reader-insight-1 | Capability / Mô phỏng độc giả theo persona | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Mô phỏng độc giả theo persona. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 31 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation.ts |
| cap-reader-insight-2 | Capability / Chấm phản hồi mô phỏng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm phản hồi mô phỏng. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/simulation-scoring.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/simulation-panel.ts, src/lib/reader-insight/simulation-persona.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/simulation-scoring.ts |
| cap-reader-insight-3 | Capability / Rà sensitivity và inclusivity | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rà sensitivity và inclusivity. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/sensitivity.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 6 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/index.spec.ts, src/lib/reader-insight/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/sensitivity.ts |
| cap-reader-insight-4 | Capability / Phân loại vòng phản hồi độc giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân loại vòng phản hồi độc giả. Tìm câu hỏi và giả thuyết cần thử. | Dùng phản hồi mô phỏng để chuẩn bị nhiệm vụ; ghi kết quả độc giả thật riêng ở F08. | Bản thảo và persona giả định; kết quả độc giả thật nhập riêng. | Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. Có mã triển khai tại src/lib/reader-insight/feedback.ts. Phản hồi mô phỏng, cảnh báo nhạy cảm và phân loại vấn đề cần thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/reader-insight-ports.ts, src/lib/reader-insight/feedback.spec.ts, src/lib/reader-insight/index.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/reader-insight/feedback.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |

### F13.6 — Review 30 / 90 và ngân sách tiếp

Ghi review ngày 30/90, giới hạn kết luận và ngân sách tiếp theo.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-96 | Phase step / Review 30 / 90 và ngân sách tiếp | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Ra mắt có mốc thời gian và thử thay đổi với bằng chứng đo được. | Ghi review ngày 30/90, giới hạn kết luận và ngân sách tiếp theo. | Ngày có thể mua thực tế; Review ngày 30 và quyết định; Review ngày 90 và quyết định; Nguồn traffic / cửa sổ attribution / yếu tố nhiễu | Nhật ký ra mắt, thử nghiệm và quyết định tại ngày 30/90. Review30/review90, decision, next spend và revisit | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts |
| cap-launch-1 | Capability / Bộ nội dung ra mắt đa kênh | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Bộ nội dung ra mắt đa kênh. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/launch-kit.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 34 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/launch-kit.ts |
| cap-launch-2 | Capability / Trích social snippets từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích social snippets từ bản thảo. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/quote-miner.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/quote-miner.ts |
| cap-launch-3 | Capability / Nội dung Amazon A+ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nội dung Amazon A+. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/aplus.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 5 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/aplus-validate.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/aplus.ts |
| cap-launch-4 | Capability / Gói lead magnet từ chương sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói lead magnet từ chương sách. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/lead-magnet.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/lead-magnet.ts |
| cap-launch-5 | Capability / Gắn campaign thật vào lịch SOP F13 | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gắn campaign thật vào lịch SOP F13. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/sop-schedule.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/components/studio/launch-sop-bridge.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/sop-schedule.ts |
| cap-launch-6 | Capability / Soạn yêu cầu review tự nguyện | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Soạn yêu cầu review tự nguyện. Lập lịch và theo dõi việc ra mắt. | Chọn ngày có thể mua, lập các mốc và nhập bằng chứng thực hiện; ghi review30/90 F13. | Bản nguồn, ngày có thể mua, độc giả, campaign, consent và dữ liệu thử. | Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. Có mã triển khai tại src/lib/launch/review-request.ts. Launch kit, snippet, A+, lead magnet, lịch SOP và thông điệp thử. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/components/studio/launch-ports.spec.ts, src/components/studio/launch-ports.ts, src/lib/launch/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/launch/review-request.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-127 | Publishing & Commerce | Đang làm | `publish/`, API publish, `sales/` | Giữ commerce/pricing; hoàn thiện release workflow và connector capability |
| legacy-128 | Marketing & SEO | Đang làm | `publish/metadata-optimizer.ts`, `launch/` | Giữ; nối campaign vào release đã duyệt và kết quả đo Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-131 | Community & Gamification | Chưa làm | `fiction/writing-sprint.ts`, `market/author-site.ts` chỉ là nền liên quan | Community thật còn thiếu; thêm sau. Milestone tối thiểu lấy từ phase events |
| legacy-133 | Analytics & Optimization | Đang làm | `sales/`, `eval/`, `market/niche-score.ts` | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-142 | Dynamic Pricing | Đang làm | `publish/pricing.ts`, `sales/price-experiment.ts` | Gộp #7/#13; unit economics trước đầu tư, thử giá sau duyệt, không tự mở rộng bằng LTV giả định Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-144 | Reader Analytics | Đang làm | `reader-insight/feedback.ts` là phản hồi, `sales/` là doanh số | Gộp #13; telemetry đọc thật còn thiếu, chỉ thu trên bề mặt kiểm soát được |
| legacy-145 | AI Marketing Campaign | Đang làm | `launch/launch-kit.ts`, template, quote-miner, A+ | Gộp #8; giữ generator, nâng lifecycle/tracking; không tạo module copywriting mới |
| legacy-146 | POD API | Chưa làm | Print calculations/packages, chưa thấy connector POD hoàn chỉnh | Gộp #7; thêm adapter provider đã xác minh, proof approval và order/status Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-148 | A/B Covers & Blurbs | Đang làm | Review có A/B draft; sales có thử giá | Gộp #4/#13; A/B nội dung draft không phải thử conversion bìa/blurb; thêm experiment Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-149 | Automated Review Response | Chưa làm | Feedback aggregation, review-request templates | Gộp #13; response drafting còn thiếu; phản hồi ra ngoài phải duyệt Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-154 | Interactive Reader App | Chưa làm | EPUB/PDF tương tác, PWA readiness checker | Reader runtime/branching/sync chưa có; hoãn app tương tác đầy đủ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-155 | AI Beta Reader Marketplace | Chưa làm | `reader-insight/reader-sim.ts`, feedback; chưa có chợ người đọc | Giữ AI simulation; chợ matching/payment/reputation người thật là phạm vi mới, hoãn |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-182 | Launch calendar/ARC, tracking/ads import, 30/90 reviews | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F13 day0 đúng availability, windows/metrics; voluntary reviews; no auto spend escalation |
| legacy-184 | Provider/trend/ads/email/POD integrations | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | API/license coverage verified, snapshots/retry/budget; publication/order/message cần quyền |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-20 | Trang chọn model theo tác vụ | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/models/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## F14 — Danh mục và khai thác quyền

Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục.


### F14.1 — Đóng sổ tháng và đối soát

Nhập CSV sự kiện quan sát, kiểm trùng nguồn và đối chiếu báo cáo theo kỳ.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-99 | Phase step / Đóng sổ tháng và đối soát | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Nhập CSV sự kiện quan sát, kiểm trùng nguồn và đối chiếu báo cáo theo kỳ. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. Financial-event CSV idempotent, conflict rejected; portfolio close | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-105 | Local data form / Sổ giao dịch đối soát | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Nhập sự kiện từ báo cáo nguồn: doanh thu bán lẻ, royalty, hoàn tiền, tiền thực nhận và chi phí là các loại khác nhau. Hoàn tiền đã trừ trong royalty không nhập lại như refund_accrual. Không lưu thông tin cá nhân khách hàng. `subject` là MÃ KHÁCH GIẢ (mã giả, không phải tên/email/điện thoại) — không có nó thì không tính được cohort, và cohort khi đó là CHƯA BIẾT chứ không phải 0. | Mở sách → F14 → Sổ giao dịch đối soát; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã giao dịch nguồn (bắt buộc); SKU (bắt buộc); Kênh (bắt buộc); Mã khách giả (không phải PII) (bắt buộc); Ngày sự kiện (bắt buộc); Loại sự kiện (bắt buộc); Số tiền (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Nhập sự kiện từ báo cáo nguồn: doanh thu bán lẻ, royalty, hoàn tiền, tiền thực nhận và chi phí là các loại khác nhau. Hoàn tiền đã trừ trong royalty không nhập lại như refund_accrual. Không lưu thông tin cá nhân khách hàng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| legacy-106 | Local data form / Đóng sổ danh mục | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Doanh thu bán lẻ, royalty và tiền về là ba số khác nhau. Không suy ra cohort từ tỷ số đơn. | Mở sách → F14 → Đóng sổ danh mục; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kỳ tháng / quý (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ (bắt buộc); Royalty ghi nhận (bắt buộc); Hoàn tiền chưa trừ (bắt buộc); Chi phí (bắt buộc); Tiền về ngân hàng (bắt buộc); Chênh lệch chờ đối soát (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Doanh thu bán lẻ, royalty và tiền về là ba số khác nhau. Không suy ra cohort từ tỷ số đơn. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |
| cap-billing-1 | Capability / Gói dịch vụ và giới hạn tính năng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói dịch vụ và giới hạn tính năng. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/plans.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/checkout/route.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/plans.ts |
| cap-billing-2 | Capability / Kiểm entitlement theo tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm entitlement theo tổ chức. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/entitlements.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 7 module thật sự import (src/app/api/v1/batch/route.ts, src/app/api/v1/books/[id]/generate/route.ts, src/app/app/billing/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/entitlements.ts |
| cap-billing-3 | Capability / Giữ/trừ/hoàn credits cho tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ/trừ/hoàn credits cho tác vụ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/credits.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 15 symbol export; được 9 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/db.ts, src/app/api/v1/books/[id]/generate/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/credits.ts |
| cap-billing-4 | Capability / Stripe Checkout/Portal/Webhook cho dịch vụ app | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Stripe Checkout/Portal/Webhook cho dịch vụ app. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/stripe.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 8 module thật sự import (src/app/api/stripe/_lib/apply.ts, src/app/api/stripe/_lib/per-book-idempotency.spec.ts, src/app/api/stripe/checkout/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/stripe.ts |
| cap-billing-5 | Capability / API keys có scope và thu hồi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | API keys có scope và thu hồi. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/api-keys.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 13 symbol export; được 7 module thật sự import (src/components/billing/api-keys-section.tsx, src/lib/api-auth/api-auth.spec.ts, src/lib/api-auth/auth.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/api-keys.ts |
| cap-billing-6 | Capability / Hoàn giữ credits khi tác vụ thất bại | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hoàn giữ credits khi tác vụ thất bại. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/billing; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Tổ chức, plan, Stripe Sandbox/live, credits, BYOK và quyền tài khoản. | Entitlements, số dư/usage, giao dịch billing và API keys có scope. Có mã triển khai tại src/lib/billing/unwind.ts. Entitlements, số dư/usage, giao dịch billing và API keys có scope. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 3 symbol export; được 2 module thật sự import (src/app/api/v1/books/[id]/generate/route.ts, src/lib/billing/unwind.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/billing/unwind.ts |
| core-23-sop-financial-events-ts | Capability / Đối soát sự kiện tiền, chống CSV trùng và giữ loại tiền | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Đối soát sự kiện tiền, chống CSV trùng và giữ loại tiền | Mở sách hoặc Workspace → F14 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/financial-events.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/financial-events.ts; docs/TODO.md |

### F14.2 — P&L theo SKU / cash / cohort

Nhập đóng sổ SKU; xem riêng bán lẻ, royalty, đóng góp và tiền về cùng tiền tệ.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-100 | Phase step / P&L theo SKU / cash / cohort | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Nhập đóng sổ SKU; xem riêng bán lẻ, royalty, đóng góp và tiền về cùng tiền tệ. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. Tách retail/royalty/refund/cost/cash/currency; thiếu dữ liệu vẫn null | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-106 | Local data form / Đóng sổ danh mục | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Doanh thu bán lẻ, royalty và tiền về là ba số khác nhau. Không suy ra cohort từ tỷ số đơn. | Mở sách → F14 → Đóng sổ danh mục; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | SKU (bắt buộc); Kỳ tháng / quý (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Doanh thu bán lẻ (bắt buộc); Royalty ghi nhận (bắt buộc); Hoàn tiền chưa trừ (bắt buộc); Chi phí (bắt buộc); Tiền về ngân hàng (bắt buộc); Chênh lệch chờ đối soát (bắt buộc); Loại bằng chứng (bắt buộc); Nguồn hoặc mã tài liệu (bắt buộc); Ngày quan sát (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Doanh thu bán lẻ, royalty và tiền về là ba số khác nhau. Không suy ra cohort từ tỷ số đơn. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |
| core-22-sop-cohort-ts | Capability / CAC/LTV và kịch bản cohort có giả định | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | CAC/LTV và kịch bản cohort có giả định | Mở sách hoặc Workspace → F04/F14 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/sop/cohort.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/sop/cohort.ts; docs/TODO.md |

### F14.3 — Rà hoàn tiền và support

Ghi hoàn tiền, hỗ trợ và nguyên nhân cần cải tiến.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-101 | Phase step / Rà hoàn tiền và support | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Ghi hoàn tiền, hỗ trợ và nguyên nhân cần cải tiến. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. Portfolio/refund/support records và phân tích sales | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; e2e/step-guide-navigation.spec.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |
| cap-ops-1 | Capability / Quan sát tác vụ và sự cố vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quan sát tác vụ và sự cố vận hành. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/observability.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-disclosure.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/observability.ts |
| cap-ops-2 | Capability / Diễn tập phục hồi sự cố và sao lưu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Diễn tập phục hồi sự cố và sao lưu. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/dr-drill.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/dr-drill.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/dr-drill.ts |
| cap-ops-3 | Capability / Xuất audit pack và lọc dữ liệu nhạy cảm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất audit pack và lọc dữ liệu nhạy cảm. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/audit-export.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-export.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/audit-export.ts |
| cap-ops-4 | Capability / Công bằng hàng đợi tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Công bằng hàng đợi tác vụ. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/queue-fairness.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/queue-fairness.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/queue-fairness.ts |
| cap-ops-5 | Capability / Kiểm sức khỏe khóa nhà cung cấp | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm sức khỏe khóa nhà cung cấp. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/key-health.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/key-health.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/key-health.ts |
| cap-integrations-1 | Capability / Adapter Google Calendar | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Google Calendar. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/google-calendar.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/google-calendar.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-2 | Capability / Adapter Notion | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Notion. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/notion.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/notion.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-3 | Capability / Adapter Asana | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Asana. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/asana.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/asana.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-4 | Capability / Adapter Linear | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Linear. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/linear.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/linear.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-5 | Capability / Xác minh chữ ký webhook | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác minh chữ ký webhook. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/signing.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/integrations/_lib/slack.ts, src/app/api/integrations/_lib/telegram.ts, src/app/api/integrations/routes.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/signing.ts |
| cap-integrations-6 | Capability / Điều phối webhook integrations | Đang làm ✓ đã rà / WebhookSink có code; không được import ở bất kỳ đâu | Điều phối webhook integrations. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/webhook.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Đo: grep toàn src/ không có import nào của lib/integrations/webhook. Ba route có chữ 'webhook' (Slack, Telegram, Stripe) là webhook RIÊNG, không dùng file này — cần tránh đọc nhầm là đã nối. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/webhook.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-7 | Capability / Lịch cron và check-in | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lịch cron và check-in. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/cron.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 3 module thật sự import (src/inngest/functions/scheduled-recipes.ts, src/lib/integrations/index.ts, src/lib/integrations/integrations.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/cron.ts |

### F14.4 — Cập nhật source / editions / audio / tools

Ghi content ID thay đổi và mọi edition/audio/tool cần cập nhật.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-102 | Phase step / Cập nhật source / editions / audio / tools | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Ghi content ID thay đổi và mọi edition/audio/tool cần cập nhật. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. Change register/content anchors/edition versions/merge/snapshots | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-107 | Local data form / Cập nhật và ảnh hưởng | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Sửa theo content ID, theo dõi mọi bản dịch/tool/audio liên quan. | Mở sách → F14 → Cập nhật và ảnh hưởng; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Mã nội dung / source version (bắt buộc); Thay đổi (bắt buộc); Ảnh hưởng (bắt buộc); Ngôn ngữ / sản phẩm cần sửa (bắt buộc); Người sửa (bắt buộc); Người kiểm (bắt buộc); Trạng thái (bắt buộc); Cần thông báo khách / lý do (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Sửa theo content ID, theo dõi mọi bản dịch/tool/audio liên quan. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-bible-1 | Capability / Trích entity từ bản thảo | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Trích entity từ bản thảo. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/extract.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/wire.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/extract.ts |
| cap-bible-2 | Capability / Hợp nhất entity và phát hiện xung đột | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hợp nhất entity và phát hiện xung đột. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/merge.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 4 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/index.ts, src/lib/gen/handoff.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/merge.ts |
| cap-bible-3 | Capability / Rút gọn canon và hướng dẫn sử dụng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rút gọn canon và hướng dẫn sử dụng. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/compact.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 5 module thật sự import (src/lib/bible/bible.spec.ts, src/lib/bible/drift-judge.ts, src/lib/bible/extract.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/compact.ts |
| cap-bible-4 | Capability / Tra cứu canon theo thời điểm tránh tiết lộ tương lai | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tra cứu canon theo thời điểm tránh tiết lộ tương lai. Giữ giọng, glossary và canon nhất quán. | Ghi thuật ngữ/quy tắc và đối chiếu khi viết hoặc sửa chương. | Entity, glossary, quy tắc canon, block bản thảo và mốc thời gian. | Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. Có mã triển khai tại src/lib/bible/temporal.ts. Story Bible cập nhật, entity hợp nhất và context đúng thời điểm. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 3 module thật sự import (src/components/studio/bible-temporal-panel.tsx, src/lib/bible/bible.spec.ts, src/lib/bible/temporal.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/bible/temporal.ts |
| cap-ops-1 | Capability / Quan sát tác vụ và sự cố vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quan sát tác vụ và sự cố vận hành. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/observability.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-disclosure.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/observability.ts |
| cap-ops-2 | Capability / Diễn tập phục hồi sự cố và sao lưu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Diễn tập phục hồi sự cố và sao lưu. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/dr-drill.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/dr-drill.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/dr-drill.ts |
| cap-ops-3 | Capability / Xuất audit pack và lọc dữ liệu nhạy cảm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất audit pack và lọc dữ liệu nhạy cảm. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/audit-export.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-export.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/audit-export.ts |
| cap-ops-4 | Capability / Công bằng hàng đợi tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Công bằng hàng đợi tác vụ. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/queue-fairness.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/queue-fairness.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/queue-fairness.ts |
| cap-ops-5 | Capability / Kiểm sức khỏe khóa nhà cung cấp | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm sức khỏe khóa nhà cung cấp. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/key-health.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/key-health.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/key-health.ts |
| core-7-editions-ts | Capability / Edition, bản dịch và báo nội dung nguồn thay đổi | Đã xong ✓ đã rà / Logic cục bộ hoặc luồng cơ sở dữ liệu đã có mã và được gọi | Edition, bản dịch và báo nội dung nguồn thay đổi | Mở sách hoặc Workspace → F09/F14 → công cụ liên quan; kiểm nguồn/phiên bản rồi lưu hoặc xuất kết quả. | Bản nguồn, hồ sơ phase hoặc dữ liệu có ID/nguồn/phiên bản; trường bắt buộc được kiểm trước lưu. | Kết quả tính/đối chiếu hoặc artifact theo đúng phạm vi tính năng; không tự duyệt nội dung. Có implementation tại src/lib/editions.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. Đối chiếu implementation; chưa chạy nghiệm thu toàn bộ trong đợt danh mục. | src/lib/editions.ts; docs/TODO.md |

### F14.5 — Rà gia hạn và quyền B2B

Ghi quyền B2B, thời hạn, nghĩa vụ báo cáo và gia hạn.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-103 | Phase step / Rà gia hạn và quyền B2B | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Ghi quyền B2B, thời hạn, nghĩa vụ báo cáo và gia hạn. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. License pipeline/status/territory/expiry/owner và review quyền | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; src/lib/sop/csv.ts; src/lib/sop/collections.spec.ts; e2e/step-guide-navigation.spec.ts |
| legacy-108 | Local data form / Khai thác quyền và B2B | Đã xong ✓ đã rà / Biểu mẫu, nhập/xuất CSV và kiểm lỗi tại máy | Ghi quyền, thời hạn, báo cáo, kiểm toán và trả lại quyền; thử hợp đồng nhỏ trước mở rộng. | Mở sách → F14 → Khai thác quyền và B2B; thêm bản ghi hoặc tải/nhập CSV, kiểm lỗi rồi lưu. | Đối tác (bắt buộc); Quyền / lãnh thổ / locale / format (bắt buộc); Thời hạn / chấm dứt / reversion (bắt buộc); Ngày hết hạn; Mức tối thiểu / tiền đặt cọc (bắt buộc); Tiền tệ (ví dụ USD) (bắt buộc); Báo cáo / kiểm toán (bắt buộc); Trạng thái (bắt buộc); Nguồn hợp đồng (bắt buộc) | Bản ghi có mã, lưu trên trình duyệt; có thể xuất CSV và sao lưu. Nhập tay/CSV, schema validation, local CAS; Ghi quyền, thời hạn, báo cáo, kiểm toán và trả lại quyền; thử hợp đồng nhỏ trước mở rộng. | Cần dữ liệu thật của một tài khoạn để xác nhận định dạng cột theo từng nền tảng; CSV đã kiểm là giới hạn máy. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/csv.ts; src/components/sop/record-editor.tsx; src/lib/sop/collections.spec.ts |
| cap-enterprise-1 | Capability / Quản trị đội và vai trò tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản trị đội và vai trò tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-roles.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/team-roles.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-roles.ts |
| cap-enterprise-2 | Capability / Hồ sơ white label | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ white label. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/white-label.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/brand-repo.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/white-label.ts |
| cap-enterprise-3 | Capability / Hồ sơ đơn dịch vụ done-for-you | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ đơn dịch vụ done-for-you. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/dfy.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/dfy.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/dfy.ts |
| cap-enterprise-4 | Capability / Điều kiện SSO và SCIM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều kiện SSO và SCIM. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/scim.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 25 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/scim.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/scim.ts |
| cap-enterprise-5 | Capability / Giới hạn ngân sách tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giới hạn ngân sách tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/budget.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/budget.spec.ts, src/lib/enterprise/dfy.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/budget.ts |
| cap-enterprise-6 | Capability / Quản lý seats | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý seats. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-seats.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 1 module thật sự import (src/lib/enterprise/team-roles.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-seats.ts |
| cap-enterprise-7 | Capability / Client portal cho agency | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Client portal cho agency. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/client-portal.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/client-portal.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/client-portal.ts |
| cap-marketplace-1 | Capability / Kiểm điều kiện listing trước đưa lên chợ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm điều kiện listing trước đưa lên chợ. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/checklist.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 5 symbol export; được 3 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/checklist.ts |
| cap-marketplace-2 | Capability / Gói blueprint để bán/cấp phép | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Gói blueprint để bán/cấp phép. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/blueprint.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 10 symbol export; được 6 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/blueprint.ts |
| cap-marketplace-3 | Capability / Dự toán lợi nhuận listing | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Dự toán lợi nhuận listing. Chuẩn bị listing và điều kiện bán/cấp quyền. | Rà mô tả, quyền, route và giao nhận tại F12; checkout, settlement và giao hàng thật của marketplace chưa hoàn tất. | Listing, blueprint, checklist quyền và đơn hàng. | Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. Có mã triển khai tại src/lib/marketplace/profit.ts. Bản listing/checklist/lợi nhuận; chợ giao dịch và settlement thật chưa hoàn tất. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 8 symbol export; được 4 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/marketplace/profit.ts |

### F14.6 — Review quý và đầu tư tiếp

Ghi tiền khả dụng, công suất, bằng chứng rồi chọn giữ/sửa/dừng/mở rộng.

| Mã | Nhóm / tính năng | Trạng thái / phạm vi | Mục đích | Cách dùng | Đầu vào | Đầu ra / hiện có | Còn thiếu / xác minh | Bằng chứng |
|---|---|---|---|---|---|---|---|---|
| legacy-104 | Phase step / Review quý và đầu tư tiếp | Đã xong ✓ đã rà / Bước quy trình có đường thực thi trong app và cổng kiểm chặn duyệt giai đoạn | Đối soát tiền và quản lý cập nhật/quyền ở cấp danh mục. | Ghi tiền khả dụng, công suất, bằng chứng rồi chọn giữ/sửa/dừng/mở rộng. | Kỳ tháng / quý; Giữ / sửa / dừng / mở rộng và bằng chứng; Tiền khả dụng / công suất / nghĩa vụ cập nhật; Sự cố tài khoản / hỗ trợ / kế hoạch xử lý | Sổ kỳ theo SKU, ảnh hưởng cập nhật và quyết định đầu tư tiếp. Period/decision/capacity/incident và vòng đầu tư lại | Phần mềm cho bước này đã có và được đo. Còn nằm ở phạm vi khác: nghiệm thu người thật, dữ liệu thật của một tài khoản, và các kênh/provider bên ngoài (KDP, audio, D2C) vốn chưa nối đầu-cuối. Đối chiếu mã nguồn và hồ sơ triển khai; xem giới hạn. Không tự xác nhận tích hợp live. | src/lib/sop/schema.ts; src/lib/sop/guide.ts; src/components/sop/step-guide.tsx; src/components/sop/phase-panel.tsx; src/lib/sop/step-execution.spec.ts; e2e/step-guide-navigation.spec.ts |
| cap-market-1 | Capability / Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tìm URL và trích đoạn qua Tavily với hạn mức nghiên cứu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/research-search.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 4 module thật sự import (src/app/api/market/research/route.spec.ts, src/app/api/market/research/route.ts, src/components/sop/research-search.tsx); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/research-search.ts |
| cap-market-2 | Capability / Search volume và lịch sử tìm kiếm qua DataForSEO | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Search volume và lịch sử tìm kiếm qua DataForSEO. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/dataforseo.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 4 module thật sự import (src/app/api/market/sample/route.spec.ts, src/app/api/market/sample/route.ts, src/lib/market/dataforseo.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/dataforseo.ts |
| cap-market-3 | Capability / Chấm ngách với chỉ báo dữ liệu thiếu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chấm ngách với chỉ báo dữ liệu thiếu. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/niche-score.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 22 symbol export; được 10 module thật sự import (src/app/api/market/sample/route.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/niche-score.ts |
| cap-market-4 | Capability / Chuyển kết quả nghiên cứu sang kế hoạch khả thi | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuyển kết quả nghiên cứu sang kế hoạch khả thi. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/feasibility-bridge.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 6 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/feasibility-bridge.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/feasibility-bridge.ts |
| cap-market-5 | Capability / Xác định thứ tự đọc bộ sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác định thứ tự đọc bộ sách. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/reading-order.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/market-fixtures.ts, src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/reading-order.ts |
| cap-market-6 | Capability / Tạo nội dung trang series | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung trang series. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/series-page.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 5 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/series-page.ts |
| cap-market-7 | Capability / Tạo nội dung website tác giả | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo nội dung website tác giả. Đối chiếu ngách, nhu cầu và giả định thị trường. | Ghi nguồn, ngày và phạm vi; chuyển bằng chứng đã kiểm sang hồ sơ F02, không dùng số mẫu làm doanh số thật. | Ngách, từ khóa, locale, nguồn dữ liệu và ngày quan sát. | Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. Có mã triển khai tại src/lib/market/author-site.ts. Bảng số đo/thiếu số đo, điểm khả thi có giới hạn, nội dung trang tác giả/series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 10 symbol export; được 4 module thật sự import (src/components/studio/market-ports.ts, src/components/studio/real-market-ports.ts, src/lib/market/author-site.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/market/author-site.ts |
| cap-sales-1 | Capability / Nhập CSV doanh số KDP | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV doanh số KDP. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-kdp.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoản bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-kdp.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-2 | Capability / Nhập CSV Gumroad | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Gumroad. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-gumroad.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-gumroad.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-3 | Capability / Nhập CSV Etsy | Đã xong ✓ đã rà / Nhập CSV và đọc bảng sales_records thật từ cloud | Nhập CSV Etsy. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/import-etsy.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | Cần dữ liệu thật của một tài khoạn bán hàng để xác nhận định dạng cột của từng nền tảng. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/sales/import-etsy.ts; src/lib/sales/records-repo.ts; src/app/api/v1/sales/records/route.ts |
| cap-sales-4 | Capability / Tổng hợp sales import và lỗi dòng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tổng hợp sales import và lỗi dòng. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/sales-import.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 4 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/sales-import.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/sales-import.ts |
| cap-sales-5 | Capability / Tính margin/đóng góp tách tiền về | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tính margin/đóng góp tách tiền về. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/margin.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 7 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/margin.ts |
| cap-sales-6 | Capability / Quy đổi FX với căn cứ tỷ giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quy đổi FX với căn cứ tỷ giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/fx.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 7 module thật sự import (src/components/studio/marketplace-ports.ts, src/lib/marketplace/checklist.spec.ts, src/lib/marketplace/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/fx.ts |
| cap-sales-7 | Capability / Đánh giá thử nghiệm giá | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá thử nghiệm giá. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/price-experiment.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-ports.ts, src/lib/sales/price-experiment.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/price-experiment.ts |
| cap-sales-8 | Capability / Lập kế hoạch series từ số liệu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lập kế hoạch series từ số liệu. Theo dõi giả định, kết quả và đóng góp. | Nhập số liệu có nguồn/kỳ, tách quan sát và ước tính; dùng sổ F14 để đối soát. | CSV báo cáo có kỳ/nguồn, tiền tệ, SKU, thử giá và dữ liệu cohort. | Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. Có mã triển khai tại src/lib/sales/series-planner.ts. Dữ liệu nhập chuẩn hóa, margin, FX, thử nghiệm giá và đề xuất series. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 9 symbol export; được 4 module thật sự import (src/components/studio/real-sales-ports.ts, src/components/studio/sales-fixtures.ts, src/components/studio/sales-ports.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/sales/series-planner.ts |
| cap-eval-1 | Capability / Rubric chấm prompt và output | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Rubric chấm prompt và output. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/rubric.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.ts, src/lib/eval/benchmark.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/rubric.ts |
| cap-eval-2 | Capability / Prompt packs theo tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Prompt packs theo tác vụ. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/prompt-packs.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 5 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/ab.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/prompt-packs.ts |
| cap-eval-3 | Capability / Benchmark nhiều prompt/model | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Benchmark nhiều prompt/model. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/benchmark.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 13 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/benchmark.spec.ts, src/lib/eval/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/benchmark.ts |
| cap-eval-4 | Capability / So sánh A/B và thống kê | Đang làm / Có implementation; mức nối UI/live tùy công cụ | So sánh A/B và thống kê. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/ab.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 6 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/ab.spec.ts, src/lib/eval/fixtures.spec-helpers.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/ab.ts |
| cap-eval-5 | Capability / Replay một lần chạy | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Replay một lần chạy. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/replay.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/replay.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/replay.ts |
| cap-eval-6 | Capability / Theo dõi xu hướng chất lượng | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi xu hướng chất lượng. So sánh mẫu đầu ra trước khi dùng cấu hình viết. | Lập tiêu chí, chọn mẫu và ghi kết quả thử; xác nhận cấu hình với mẫu F06. Benchmark và telemetry thật còn cần hoàn thiện. | Prompt pack, rubric, mẫu, model/tier và kết quả chạy. | Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. Có mã triển khai tại src/lib/eval/trends.ts. Benchmark, so A/B, replay và thống kê; màn hình demo không chứng minh chạy provider. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 19 symbol export; được 3 module thật sự import (src/components/studio/eval-ports.ts, src/lib/eval/index.ts, src/lib/eval/trends.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/eval/trends.ts |
| cap-enterprise-1 | Capability / Quản trị đội và vai trò tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản trị đội và vai trò tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-roles.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 29 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/team-roles.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-roles.ts |
| cap-enterprise-2 | Capability / Hồ sơ white label | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ white label. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/white-label.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/brand-repo.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/white-label.ts |
| cap-enterprise-3 | Capability / Hồ sơ đơn dịch vụ done-for-you | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Hồ sơ đơn dịch vụ done-for-you. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/dfy.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/dfy.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/dfy.ts |
| cap-enterprise-4 | Capability / Điều kiện SSO và SCIM | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều kiện SSO và SCIM. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/scim.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 25 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/index.ts, src/lib/enterprise/scim.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/scim.ts |
| cap-enterprise-5 | Capability / Giới hạn ngân sách tổ chức | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giới hạn ngân sách tổ chức. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/budget.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 18 symbol export; được 4 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/budget.spec.ts, src/lib/enterprise/dfy.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/budget.ts |
| cap-enterprise-6 | Capability / Quản lý seats | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý seats. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/team-seats.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 20 symbol export; được 1 module thật sự import (src/lib/enterprise/team-roles.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/team-seats.ts |
| cap-enterprise-7 | Capability / Client portal cho agency | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Client portal cho agency. Chuẩn bị quyền, phân công và nhu cầu của tổ chức. | Rà vai trò và phạm vi theo tổ chức; đối chiếu quyền F05 và nghĩa vụ F14. Quản trị doanh nghiệp đầy đủ chưa hoàn tất. | Tổ chức, đội, vai trò, license và nhu cầu agency/SSO. | Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. Có mã triển khai tại src/lib/enterprise/client-portal.ts. Kiểm quyền và cấu hình doanh nghiệp; identity/settlement thật còn cần tích hợp. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 24 symbol export; được 3 module thật sự import (src/components/studio/enterprise-ports.ts, src/lib/enterprise/client-portal.spec.ts, src/lib/enterprise/index.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/enterprise/client-portal.ts |
| cap-ops-1 | Capability / Quan sát tác vụ và sự cố vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quan sát tác vụ và sự cố vận hành. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/observability.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 28 symbol export; được 6 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-disclosure.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/observability.ts |
| cap-ops-2 | Capability / Diễn tập phục hồi sự cố và sao lưu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Diễn tập phục hồi sự cố và sao lưu. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/dr-drill.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 15 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/dr-drill.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/dr-drill.ts |
| cap-ops-3 | Capability / Xuất audit pack và lọc dữ liệu nhạy cảm | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xuất audit pack và lọc dữ liệu nhạy cảm. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/audit-export.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 17 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/audit-export.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/audit-export.ts |
| cap-ops-4 | Capability / Công bằng hàng đợi tác vụ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Công bằng hàng đợi tác vụ. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/queue-fairness.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 20 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/queue-fairness.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/queue-fairness.ts |
| cap-ops-5 | Capability / Kiểm sức khỏe khóa nhà cung cấp | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm sức khỏe khóa nhà cung cấp. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Trạng thái job, lỗi, lần retry, SLA và nghĩa vụ cập nhật. | Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. Có mã triển khai tại src/lib/ops/key-health.ts. Báo cáo sự cố, theo dõi runtime và hướng xử lý vận hành. | GHI CHÚ CHUNG cho 104 mục có implementation, chưa rà riêng từng mục: cần xác minh với dữ liệu dự án thật và integration phù hợp; các màn hình demo/ports mô phỏng không chứng minh provider chạy. Mục này chưa được kiểm riêng. Đo 2026-10-13: 16 symbol export; được 3 module thật sự import (src/components/studio/ops-mock-fixtures.ts, src/components/studio/ops-ports-types.ts, src/lib/ops/key-health.spec.ts); có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/ops/key-health.ts |
| cap-plan-1 | Capability / Phỏng vấn tạo kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phỏng vấn tạo kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/interview.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 2 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/interview.ts |
| cap-plan-2 | Capability / Đánh giá khả thi có căn cứ | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Đánh giá khả thi có căn cứ. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/feasibility.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/feasibility.ts |
| cap-plan-3 | Capability / Chiến lược theo mục tiêu | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chiến lược theo mục tiêu. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/strategy.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 20 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/strategy.ts |
| cap-plan-4 | Capability / Kế hoạch vận hành | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kế hoạch vận hành. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/operations.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 19 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/operations.ts |
| cap-plan-5 | Capability / Phân rã tác vụ và xuất kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Phân rã tác vụ và xuất kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/tasks.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 19 symbol export; được 23 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/tasks.ts |
| cap-plan-6 | Capability / Theo dõi mục tiêu và replan | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Theo dõi mục tiêu và replan. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/monitor.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 21 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/monitor.ts |
| cap-plan-7 | Capability / Kiểm logic các phần kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Kiểm logic các phần kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/logic-validator.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 4 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/logic-validator.ts |
| cap-plan-8 | Capability / Tạo artifacts kế hoạch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Tạo artifacts kế hoạch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/plans; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Mục tiêu kinh doanh, interview, nguồn khả thi, ngân sách và dates. | Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. Có mã triển khai tại src/lib/plan/artifacts.ts. Kế hoạch chiến lược/vận hành/tác vụ, artifacts, monitoring và replan. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 8 symbol export; được 18 module thật sự import (src/app/api/plan/artifact/route.ts, src/app/api/plan/feasibility/route.ts, src/app/api/plan/operations/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/plan/artifacts.ts |
| cap-batch-1 | Capability / Chuẩn bị nguồn và template cho batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Chuẩn bị nguồn và template cho batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/dsl.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 23 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/dsl.ts |
| cap-batch-2 | Capability / Điều phối run nhiều sách | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Điều phối run nhiều sách. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/run.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 16 symbol export; được 25 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/api/v1/batch/route.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/run.ts |
| cap-batch-3 | Capability / Preview trước chạy lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Preview trước chạy lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sampling.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sampling.ts |
| cap-batch-4 | Capability / Nguồn dữ liệu theo lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Nguồn dữ liệu theo lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/sources.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 12 symbol export; được 17 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/sources.ts |
| cap-batch-5 | Capability / Lưới biến thể batch | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lưới biến thể batch. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/matrix.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 18 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/matrix.ts |
| cap-batch-6 | Capability / Giữ hạn mức ngân sách lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Giữ hạn mức ngân sách lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/budget.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 21 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/budget.ts |
| cap-batch-7 | Capability / Quản lý versions lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Quản lý versions lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/versions.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 7 symbol export; được 16 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/versions.ts |
| cap-batch-8 | Capability / Recipes tác vụ lô | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Recipes tác vụ lô. Hỗ trợ vận hành quy trình sách theo tổ chức. | Mở /app/batch; chọn tổ chức hoặc dự án, nhập cấu hình cần thiết, lưu và kiểm kết quả. | Danh sách nguồn, template, dàn ý, model và ngân sách cho lô. | Preview và runs theo lô, checkpoint, versions và manifest tác vụ. Có mã triển khai tại src/lib/batch/recipes.ts. Preview và runs theo lô, checkpoint, versions và manifest tác vụ. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 21 symbol export; được 22 module thật sự import (src/app/api/batch/preview/route.ts, src/app/api/batch/run/route.ts, src/app/app/batch/new/page.tsx); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/batch/recipes.ts |
| cap-integrations-1 | Capability / Adapter Google Calendar | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Google Calendar. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/google-calendar.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/google-calendar.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-2 | Capability / Adapter Notion | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Notion. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/notion.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/notion.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-3 | Capability / Adapter Asana | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Asana. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/asana.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/asana.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-4 | Capability / Adapter Linear | Đang làm ✓ đã rà / Adapter có code; chưa có test và chưa có route/UI gọi | Adapter Linear. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/linear.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Adapter có code, KHÔNG có test và không có route/UI nào gọi. Bật thật cần quyết định sản phẩm (dịch vụ nào thực sự dùng) cộng OAuth/credential — không tự dựng vì không có dữ liệu dự án thật để kiểm. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/linear.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-5 | Capability / Xác minh chữ ký webhook | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Xác minh chữ ký webhook. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/signing.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 9 symbol export; được 6 module thật sự import (src/app/api/integrations/_lib/slack.ts, src/app/api/integrations/_lib/telegram.ts, src/app/api/integrations/routes.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/signing.ts |
| cap-integrations-6 | Capability / Điều phối webhook integrations | Đang làm ✓ đã rà / WebhookSink có code; không được import ở bất kỳ đâu | Điều phối webhook integrations. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/webhook.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Đo: grep toàn src/ không có import nào của lib/integrations/webhook. Ba route có chữ 'webhook' (Slack, Telegram, Stripe) là webhook RIÊNG, không dùng file này — cần tránh đọc nhầm là đã nối. Đối chiếu file nguồn. Mục này CHƯA được chạy lại riêng trong đợt lập danh mục — xem ghi chú chung ở cột “Còn thiếu”. | src/lib/integrations/webhook.ts; scripts/features/probe-capabilities.mjs |
| cap-integrations-7 | Capability / Lịch cron và check-in | Đang làm / Có implementation; mức nối UI/live tùy công cụ | Lịch cron và check-in. Theo dõi sự cố và nghĩa vụ cập nhật. | Ghi sự cố, người xử lý và tác động; cập nhật sổ thay đổi/danh mục F14. | Quyền integration, webhook signing, lịch và tác vụ được phép. | Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. Có mã triển khai tại src/lib/integrations/cron.ts. Payload/kết quả connector; tự động gửi cần cấu hình và xác minh riêng. | Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. Đo 2026-10-13: 6 symbol export; được 3 module thật sự import (src/inngest/functions/scheduled-recipes.ts, src/lib/integrations/index.ts, src/lib/integrations/integrations.spec.ts); CHƯA có `*.spec.ts` cạnh nó. Số đo này loại trừ "có file là có" — nó KHÔNG chứng minh hành vi đúng, và mục này chưa được chạy lại riêng. | src/lib/integrations/cron.ts |

### Công cụ chung và nhóm mở rộng của phase

| Mã | Tính năng | Trạng thái | Hiện có | Còn thiếu |
|---|---|---|---|---|
| legacy-122 | Codex / Story Bible | Đang làm | `bible/`, `gen/types.ts` | Giữ extraction/canon/glossary; thêm temporal states và timeline UI Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-127 | Publishing & Commerce | Đang làm | `publish/`, API publish, `sales/` | Giữ commerce/pricing; hoàn thiện release workflow và connector capability |
| legacy-131 | Community & Gamification | Chưa làm | `fiction/writing-sprint.ts`, `market/author-site.ts` chỉ là nền liên quan | Community thật còn thiếu; thêm sau. Milestone tối thiểu lấy từ phase events |
| legacy-133 | Analytics & Optimization | Đang làm | `sales/`, `eval/`, `market/niche-score.ts` | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-135 | Mobile & Sync | Đang làm | IndexedDB; SOP cloud có chọn tổ chức, lưu/đọc có kiểm revision, lịch sử, so sánh và khôi phục dữ liệu giữ quyết định; làm mới bản nguồn sau lưu PWA: có manifest.webmanifest, icon PNG 192/512/180 và service worker có phiên bản; điều kiện cài app kiểm bằng src/lib/pwa/install-readiness.ts. | Còn thiếu: phiên người dùng thật cho lưu/đọc cloud, CRDT ngoại tuyến và native app. Service worker cố ý KHÔNG cache /api/* — số liệu phải luôn lấy từ mạng. Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-138 | API & White-label | Đang làm | `/api/v1/`, `api-auth/`, `enterprise/white-label.ts` | Giữ public API/brand logic; hoàn thiện persistence, portal và vận hành |
| legacy-141 | AI Market Trend Detector | Đang làm | `market/niche-score.ts`, feasibility bridge, mock data source | Ưu tiên Research Workspace: bằng chứng nhu cầu, đối thủ, phỏng vấn và thử nghiệm; trend là một tín hiệu |
| legacy-142 | Dynamic Pricing | Đang làm | `publish/pricing.ts`, `sales/price-experiment.ts` | Gộp #7/#13; unit economics trước đầu tư, thử giá sau duyệt, không tự mở rộng bằng LTV giả định Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-144 | Reader Analytics | Đang làm | `reader-insight/feedback.ts` là phản hồi, `sales/` là doanh số | Gộp #13; telemetry đọc thật còn thiếu, chỉ thu trên bề mặt kiểm soát được |
| legacy-146 | POD API | Chưa làm | Print calculations/packages, chưa thấy connector POD hoàn chỉnh | Gộp #7; thêm adapter provider đã xác minh, proof approval và order/status Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-147 | Series Universe Manager | Đang làm | `bible/series.ts`, `sales/series-planner.ts`, `market/reading-order.ts` | Gộp #2; nâng versioned canon, override review và propagation Chưa có test cạnh file này, nên hành vi chưa được khoá lại bằng phép thử. |
| legacy-149 | Automated Review Response | Chưa làm | Feedback aggregation, review-request templates | Gộp #13; response drafting còn thiếu; phản hồi ra ngoài phải duyệt Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-151 | Blockchain & NFT | Chưa làm | Provenance certificate có sẵn, chưa thấy blockchain/NFT | Gộp #12; hoãn. Nếu cần trước, dùng chứng nhận hash/version hiện có Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-152 | API Marketplace & Integrations | Chưa làm | `integrations/`, API v1; marketplace hiện tại dành cho sản phẩm sách | Gộp #18; integrations có rồi; chợ connector/app còn thiếu, hoãn |
| legacy-153 | White-label Agencies | Đang làm | `enterprise/white-label.ts`, client portal, team/budget/DFY | Gộp #18; nối branding/domain/portal thật, không viết module agency mới |
| legacy-154 | Interactive Reader App | Chưa làm | EPUB/PDF tương tác, PWA readiness checker | Reader runtime/branching/sync chưa có; hoãn app tương tác đầy đủ Dòng này không nêu file nào; danh mục không gán bằng chứng giả. Xem các mục `cap-*` của khu vực tương ứng để biết phần đã có. |
| legacy-155 | AI Beta Reader Marketplace | Chưa làm | `reader-insight/reader-sim.ts`, feedback; chưa có chợ người đọc | Giữ AI simulation; chợ matching/payment/reputation người thật là phạm vi mới, hoãn |
| legacy-156 | 14-phase model/rail/deep links; registry hiện có | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tab mapping đủ, keyboard/mobile, streams sống, scope/optional rõ |
| legacy-169 | 13-week cashflow, commitments, payouts/reconciliation | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Tiền khả dụng khác accrual; reserve và chi đã cam kết ngăn over-spend |
| legacy-183 | Portfolio close/cohort/changes/licensing pipeline | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | F14 gross/royalty/cash reconciled; observed cohort vs proxy; update impact và next-investment |
| legacy-184 | Provider/trend/ads/email/POD integrations | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | API/license coverage verified, snapshots/retry/budget; publication/order/message cần quyền |
| legacy-185 | CRDT/offline/chapter permissions, agency production | Đang làm | Điều kiện nghiệm thu theo kế hoạch, không phải mã nguồn đang thiếu. Phần mềm dùng để nghiệm thu là các bước phase tương ứng — xem từng bước đã rà ở cùng phase. | Reconnect converge, server perms/tenant boundary; portal dùng contracts hiện có |
| core-25-sop-engine-ts | Duyệt/sửa/hoãn/dừng, fingerprints và yêu cầu duyệt lại | Đã xong ✓ đã rà | Có implementation tại src/lib/sop/engine.ts. | Chưa nghiệm thu đầu-cuối với dữ liệu thật của một tài khoản; phần cần người vẫn nằm ở các mục capability liên quan. |
| platform-2 | Danh sách, tìm kiếm và mở sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/books/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-4 | Dashboard điều hướng sách/dự án/kế hoạch | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-5 | Điều hướng ngang 14 phase và deep link theo sách | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/shell/phase-navigation.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-6 | Hướng dẫn từng step và chuyển đúng biểu mẫu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/step-guide.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-7 | Nhập/xuất CSV biểu mẫu, kiểm lỗi và giữ bản chưa lưu | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/record-editor.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-8 | Báo cáo và sao lưu hồ sơ SOP | Đã xong ✓ đã rà | Màn hình/luồng tại src/components/sop/cloud-controls.tsx. | Phần còn thiếu nằm ở luồng dữ liệu và nơi gọi; xem bằng chứng. |
| platform-14 | Danh sách và wizard tạo kế hoạch kinh doanh | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/plans/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-15 | Wizard thiết lập lô sản xuất | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/batch/new/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-18 | Trang Billing, credits, plan và khóa BYOK | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/billing/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-19 | Trang quản trị ứng dụng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/app/admin/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |
| platform-22 | Trang danh mục tính năng công khai, tìm/lọc và tải bảng | Đã xong ✓ đã rà | Màn hình/luồng tại src/app/features/page.tsx. | Phần còn thiếu nằm ở dịch vụ ngoài: cấu hình nhà cung cấp, phiên đăng nhập thật và nghiệm thu người dùng — không kiểm bằng HTTP trong repo. |

## Phụ lục: endpoint hiện có

Đây là lớp API hỗ trợ, không phải các tính năng đã nghiệm thu. Có endpoint không đồng nghĩa chức năng đã chạy live.

- `/api/audio/sample`
- `/api/batch/preview`
- `/api/batch/run`
- `/api/cover/prompts`
- `/api/cover/render`
- `/api/export/override`
- `/api/export`
- `/api/gen/generate`
- `/api/gen/outline`
- `/api/illustrations/render`
- `/api/inngest`
- `/api/integrations/slack`
- `/api/integrations/telegram`
- `/api/market/research`
- `/api/market/sample`
- `/api/plan/artifact`
- `/api/plan/feasibility`
- `/api/plan/operations`
- `/api/plan/replan`
- `/api/plan/strategy`
- `/api/plan/tasks`
- `/api/publish/gumroad`
- `/api/publish/metadata`
- `/api/refs/ingest`
- `/api/review/session`
- `/api/setup/status`
- `/api/sop/orgs`
- `/api/sop`
- `/api/sop/versions`
- `/api/stripe/checkout`
- `/api/stripe/portal`
- `/api/stripe/webhook`
- `/api/v1/batch`
- `/api/v1/books/[id]/approve-outline`
- `/api/v1/books/[id]/export`
- `/api/v1/books/[id]/generate`
- `/api/v1/books/[id]`
- `/api/v1/books`
- `/api/v1/brands`
- `/api/v1/byok/[id]`
- `/api/v1/byok`
- `/api/v1/me`
- `/api/v1/models/overrides`
- `/api/v1/openapi.json`
- `/api/v1/runs/[id]`
- `/api/v1/sales/ai-costs`
- `/api/v1/sales/records`
