Quy tắc lưu trữ
File nhị phân đã vào lịch sử git thì không gỡ được nếu không viết lại lịch sử, việc làm hỏng mọi worktree và mọi bản clone đang mở. Vì thế phải chặn từ đầu, ở lúc thêm file.
Conan đã trả đúng giá này: ngày 17.10.2026 phải chuyển ảnh raster sang R2, SVG bìa sách vào D1, nội dung và 3.378 migration sang conan-content, rồi viết lại lịch sử (gói 398 MB còn khoảng 20 MB). Bản clone cũ ở ~/ConanCode/conanplatform từ đó là lịch sử cũ, không pull hay push từ đó nữa.
Bảng
| Dạng | Nơi lưu |
|---|---|
| Code, config, test, migration D1 | Git |
| Docs, prototype UI | Git, trong thư mục app |
Asset app dùng, đã tối ưu (ảnh dưới 300 KB, .glb dưới 500 KB) | Git, public/ hoặc src/assets/ |
| Nội dung người học đọc (bài, câu hỏi, sách, bài SEO) | D1, nguồn soạn ở repo conan-content |
Media nặng, file nguồn (video, audio, .blend, PSD, render, ảnh gốc) | R2, kèm design/assets.json |
| Dữ liệu người dùng | D1 production, chỉ qua API |
| Bản sinh, log, ảnh chụp tạm | Không lưu |
| Bí mật (token, khoá) | GitHub Secrets, Cloudflare secrets |
Máy chặn
Gate lưu trữ (tầng chặn) từ chối mọi file mới thuộc định dạng nguồn hoặc media (.psd, .blend, .fbx, .mp4, .mov, .wav, .zip, .sqlite...), ảnh trên 300 KB, .glb trên 500 KB và mọi file trên 1 MB. File có từ trước không bị xét. Ngoại lệ thật ghi vào một file allowlist kèm lý do.
Ở Conan hôm nay
Đã có hai gác cho phần đã dọn: check-media-r2 (57 ảnh đã chuyển R2 không được quay lại cây, không mã nào trỏ vào đường cũ) và check-history-root (cây phải đi xuống từ gốc lịch sử mới e23cf394). Chưa có gác cho file mới: một video, một PSD hay một file 5 MB vẫn commit được. Xem Audit.