Local Food
English
Về trang chủ

Telemetry

Đo quá trình xây dựng Local Food bằng Human + AI. Mọi số ở đây truy được về git, file trong repo, hoặc output lệnh — trừ giờ người thật, vốn do PM tự khai vì không công cụ nào đo thay được.

Cập nhật 2026-09-12 · chi tiết đầy đủ trong TELEMETRY-LF.md

Nén (Productivity Ratio)

Giờ truyền thống ÷ giờ ngồi máy thật. Chỉnh số bên dưới để xem kết quả đổi.

PM ước tính gộp cho 3 phiên 25/08 + 03/09 + 05/09 (trả lời: 'trên 9 giờ')

Giờ thật31hNén26.1×

Git chỉ đoán được khoảng 5h4416h34. Giờ thật do PM khai 31h vượt cả cận trên, xác nhận mọi proxy từ commit đều đếm thiếu. Nếu lấy proxy làm mẫu số, Nén đã bị thổi phồng.

Baseline là ước lượng phản-thực: PM tự chốt. Là ước lượng phản-thực (counterfactual), không ai thực sự làm lại bằng tay để đo. Nén không đo chất lượng, và không trừ chi phí sửa 19 sự cố AI bên dưới.

Ước lượng → Thực tế (est → reconcile)

PERT ước lượng ban đầu

50.7h

Chỉ cho 8 tỉnh, và đã giả định CÓ AI hỗ trợ

Giờ thật đã bỏ ra

31h

PM tự khai

Chênh lệch

−19h42

Nhanh hơn ước lượng

Phạm vi đã giao

7.9×

Kế hoạch 8 tỉnh → thực tế 63 tỉnh

Làm ít giờ hơn ước lượng trong khi giao gấp 7.9 lần phạm vi. Nhưng đọc kèm phần cổng chất lượng bên dưới — có 1 cổng không đạt và 2 cổng cần lưu ý.

Nhịp làm việc

NgàyCommitGit đoánPM khaiViệc đã làm
2026-08-2537p – 7pgộpDựng walking skeleton từ số không: scaffold Next.js, bản đồ, 2 tỉnh chạy end-to-end
2026-08-26242h43 – 2h433h308 artefact bước [0]→[7], đóng 8 Cổng hiểu, build W1-1→W1-9c, 2 vòng redesign UI, Search/Filter
2026-09-0371h11 – 2h12gộp6 tỉnh MVP, debug bug map trắng, trang /browse, SIT-UAT, A11y audit, Lighthouse
2026-09-051gộpChốt quyết định mở rộng ra đủ 63 tỉnh
2026-09-06181h43 – 11h315h55 tỉnh, refactor bản đồ + sửa 2 centroid, RTM/Telemetry/Weekly, deploy Vercel, US-14 + US-15
2026-09-0760p – 0p2h30Đo lại hiệu năng ở 63 tỉnh (kết quả trái với dự đoán), 7 KPI Knowledge Health, báo cáo HTML cho sếp, xuất hội thoại, tag v1.0
2026-09-0840p – 0p3h30Chủ quyền biển đảo: Hoàng Sa/Trường Sa lên bản đồ ở mọi mức zoom (R14), tempo marquee, quy trình quản trị qua Supabase Dashboard, khối Cảm nhận mới nhất ở trang chủ
2026-09-09100p – 0p3h30Song ngữ Việt–Anh 63/63 tỉnh (US-16, ~41.000 từ, 10 agent song song), dọn lint về 0 và sửa bug deep-link, tự đánh giá T1–T10, bài T2 rà requirement (11 phát hiện, sửa 11/11), US-17 nhãn khẩu vị, tag v1.1
2026-09-1150p – 0p2h30US-18 'Trưa nay ăn gì': bộ tài liệu [0]→[6] viết TRƯỚC khi code, thêm trường mealTypes và phân loại 197 món bằng 6 agent, cổng check:meal + review-meal, trang /goi-y song ngữ, đóng cổng W4-9 (PM duyệt, bể 132→121 món)
2026-09-1240p – 0p1h30Làm nổi hành động chính của /goi-y qua 3 vòng theo góp ý PM: nút tĩnh nhiều màu → bubble chạy vòng quanh mép màn hình → bubble thành lối vào duy nhất ở mọi trang (bỏ link trên thanh menu); đồng bộ 8 artefact lệch pha sau US-18

Sự cố AI — 19 lần AI sai, PM sửa

AI sai quy trình1

Bỏ qua toàn bộ bước [0]-[7], nhảy thẳng vào code — PM bắt

AI sai code/logic5

generateMetadata không await params; as Province không validate thật; mất deep-link sau redesign

AI sai nội dung1

Bánh cuốn Thanh Trì mô tả sai (có nhân — thực tế không nhân)

AI sai thiết kế3

Bản đồ 2 tầng giấu mất 55 tỉnh; khung nhìn cắt mũi Cà Mau; blur-up làm trễ LCP

AI sai khi tự kiểm1

Playwright fullPage screenshot làm hiểu nhầm là có bug

Lỗi dữ liệu nguồn3

Centroid Khánh Hòa/Đà Nẵng nằm giữa Biển Đông; 3 link nguồn 404

Lỗi môi trường/thư viện5

maplibre-gl@6.5.0 không load tile; Wikimedia 429/502; cache module-level

19 sự cố phân loại, nằm trong 23 mục DEVBOOK (4 mục còn lại là ghi chú hạn chế/bối cảnh, không phải lỗi). Con số này CÒN THIẾU: ít nhất 4 lần PM bắt lỗi chỉ nằm trong commit message, chưa được ghi thành mục riêng.

Cổng chất lượng — 7 đạt · 2 cần lưu ý · 1 không đạt

Cổng hiểu đã đóng (bước [0]→[7])

8 commit 'đóng Cổng hiểu'

8/8Đạt

Cổng hiểu PM phản biện thực chất

5 lần bắt lỗi/thiếu sót AI ngay tại cổng

8/8Đạt

Gate bị PM đánh FAIL, buộc làm lại

W1-9 → W1-9b → W1-9c (yêu cầu UI 'wow')

2Đạt

Build + typecheck

pnpm build, 0 lỗi TypeScript

PASSĐạt

Zod validate 63 file dữ liệu

provinceSchema.safeParse lúc build

PASSĐạt

Accessibility (axe-core)

4 trang, sau khi sửa 4 lỗi contrast + 1 lỗi focus

0 vi phạmĐạt

RLS bảo mật review

Tự tấn công DB: DELETE/UPDATE/lách kiểm duyệt đều 401

PASSĐạt

Performance — LCP < 2.5s

Đo lại 2026-09-07 với 63 tỉnh, trung vị 3 lần: LCP 6,20s (trước 8,8s hồi 8 tỉnh). Vẫn không đạt vì MapLibre GL nặng — R12 chấp nhận có ý thức. Trang không có bản đồ đạt 80/100.

6,20s / 2,5sKhông đạt

SIT/UAT story MVP

Nhưng test US-02 đã lỗi thời → thực chất 7 đáng tin (RTM GAP-T1)

8/8 PASSCần lưu ý

Spot-check nội dung (R2)

0 món đối chiếu chi tiết với nguồn. Không tuyên bố 'đã kiểm chứng'

15/197 đọc lướtCần lưu ý

Cổng không đạt và cần lưu ý được hiển thị ngang hàng với cổng đạt — dashboard này để phán xử, không phải để trưng bày.

Token — đo từ transcript, không phải ước lượng

Tính giá đầy đủ

24.1M

Con số phản ánh khối lượng thật

Output (AI viết ra)

3.5M

Phần AI thực sự sinh ra

Tổng thô

1427M

Gồm cả cache read — xem cảnh báo dưới

MD / 1M token

0.169

Theo token tính giá; 1 man-day ≈ 5.9M

98.3% lượng token là cache read. Đó là bối cảnh được đọc lại ở mỗi lượt, không phải nội dung mới. Trích con số 1427M mà bỏ ngữ cảnh sẽ gây hiểu sai — con số phản ánh đúng khối lượng làm việc là khoảng 24.1M tính giá đầy đủ, trong đó 3.5M là output AI thực sự viết ra.

Không có bước 'est' — không ai ước lượng token trước khi bắt đầu. Chỉ có reconcile (số thật).

Knowledge Health — 7 KPI kho kiến thức

AI chỉ tốt bằng kho kiến thức nó đọc được. Bảy chỉ số này đo harness có khoẻ không — đo ngày 2026-09-07, mỗi chỉ số bằng script chạy trên repo thật.

c1Traceability Coverage
91.7%Đạt

Target: 80%

11/12 story MVP có đủ requirement → code → test (đọc từ bảng RTM). US-07 (responsive) không có file code riêng vì là cross-cutting qua Tailwind.

c2Change Coupling
100%Đạt

Target: 70%

19/19 commit có đụng code đều cập nhật tài liệu trong CÙNG commit. Đo bằng git log --name-only.

c3Freshness
87%Đạt

Target: 85%

20/23 artefact còn khớp thực tế (đã loại AGENTS.md, CLAUDE.md — file cấu hình AI). KPI này đã bắt được 2 lỗi thật: MODULEMAP-LF.md lỗi thời nghiêm trọng (đã sửa), và PERFORMANCE-LF.md đo hồi 8 tỉnh trong khi bản đồ nay render 63 marker — đã đo lại ngày 2026-09-07, kết quả trái dự đoán: hiệu năng TỐT HƠN dù dữ liệu gấp 8 lần.

c4Orphan Rate
7.9%Đạt

Target: 15%

3/38 module không được nhắc trong bất kỳ artefact nào (SiteFooter, MotionProvider, CompressionCalculator). Requirement mồ côi: 0 sau khi đóng GAP-T2.

c5Review Evidence
92%Đạt

Target: 90%

23/25 artefact có dấu vết con người (PM bắt/bác/sửa/duyệt, hoặc Cổng hiểu). 2 file thiếu là AGENTS.md và CLAUDE.md — file cấu hình cho AI.

c6Decision Coverage
100%Đạt

Target: 75%

13/13 quyết định kiến trúc / vùng rủi ro cao đều có decision record (ARCH D1-D3, RISK R1-R13, DEVBOOK phần B, TECH-DEBT).

c7Retrieval Quality
100%Đạt

Target: 70%

Spot-check 6 chức năng bằng đúng prompt mẫu (liệt kê spec/code/test/decision record), rồi verify bằng máy: 38/38 tham chiếu có file tồn tại và anchor khớp.

Thiên lệch đã biết của c7: c7 có thiên lệch đã biết: AI tự chọn 6 chức năng và tự liệt kê tham chiếu, máy chỉ verify file/anchor CÓ TỒN TẠI — không verify nội dung có thực sự liên quan. Đúng quy trình thì PM phải tự đối chiếu kết quả với thực tế (như prompt mẫu ghi). Con số 100% nên đọc là 'không có tham chiếu bịa', không phải 'chất lượng truy xuất hoàn hảo'.

Quy mô mã nguồn & tài liệu

Dòng code

3.753

tsx + ts + mjs + sql + css

Dòng dữ liệu tỉnh

5.717

63 file JSON

Tài liệu dự án

87 trang

43.370 từ · 25 file .md

Component / Route

29 / 69

React component / route sinh tĩnh

LoạiDòngFileGhi chú
Artefact quản trị (.md)8.97949gồm cả 00_Docs
Artefact của DỰ ÁN (.md ở gốc)2543.370 từ ≈ 87 trang A4
Dữ liệu tỉnh (.json)5.71763
React/TypeScript (.tsx)2.60235
Logic/thư viện (.ts)60110
Cấu hình (.json)5215
Script kiểm tra (.mjs)2635
SQL (Supabase)2002
CSS871

Đo bằng `git ls-files` (chỉ file đã track). KHÔNG tính node_modules và KHÔNG tính 00_Docs (giáo trình bootcamp, không phải sản phẩm của dự án).

Sản lượng

Tỉnh thành

63/63

Kế hoạch ban đầu 8

Món ăn

197

75 món có ảnh thật

Nguồn tham chiếu

287

0 món thiếu nguồn

Route sinh tĩnh

68

Build sạch, 0 lỗi TS

Commit

82

File trong repo

328

Artefact quản trị

33

SCOPE → RTM → Telemetry

Sự cố DEVBOOK

19

Đã phân loại