Nguyên tắc Điều hành — SSOT v7.58 Concise
Nguyên tắc Điều hành — SSOT
v7.58 | 2026-05-01 | Concise operating version.
Mục tiêu: dễ nhớ, dễ tuân thủ, không quên OR / Assembly First / AP-CLOSE / git commit.
Bản v7.57 được giữ trong revision history và backup markeroperating-rules-v7.57-backup-before-v7.58-2026-05-01.md.
0. Luật gốc
- Không chắc đúng = sai. Chưa chắc thì kiểm tra hoặc STOP.
- Assembly First. Dùng cái có sẵn/config/metadata trước. Code/schema là phương án cuối.
- VPS = SSOT code/runtime nếu đụng hệ thống đang chạy.
- PG/Directus là đường dữ liệu chuẩn. Nuxt không tự bịa đường DB riêng nếu không được duyệt.
- Không hardcode. Giá trị cụ thể chỉ dùng để verify hoặc fixture có kiểm soát.
- DOT/Checker là mục tiêu. Mọi quy trình quan trọng phải tiến tới tự kiểm và tự cảnh báo.
1. Bắt đầu mọi việc
Trước khi chỉ đạo hoặc làm:
- Đọc OR này.
- Đọc Hiến pháp + luật/tài liệu liên quan.
- Xác định SSOT và môi trường thực thi.
- Xác định việc này là read-only, config, code, hay runtime mutation.
- Nếu còn cơ hội nhầm → kiểm tra trước, không làm tiếp theo giả định.
2. 6 câu hỏi trước khi soạn prompt
- Việc này vĩnh viễn hay tạm?
- Còn khả năng nhầm môi trường/SSOT không?
- Có thể tự thích nghi khi dữ liệu thay đổi không?
- Có thể lắp ráp/config thay vì code không?
- Có hardcode không?
- Thế nào là đạt, đo bằng gì?
3. Mẫu prompt bắt buộc — mục tiêu mở
Prompt ưu tiên WHAT, không khóa cứng HOW.
Chỉ viết lệnh chi tiết khi thao tác nguy hiểm cần gate cụ thể.
# MISSION: <tên ngắn>
## CHECKPOINT
- Đọc OR: knowledge/dev/ssot/operating-rules.md
- Đọc luật/tài liệu liên quan: <path/keywords>
- Nếu chưa chắc môi trường/SSOT → kiểm tra trước, không làm tiếp.
## MỤC TIÊU
<WHAT cần đạt, không mô tả HOW quá chi tiết.>
## THẾ NÀO LÀ ĐẠT?
- <tiêu chí đo được 1>
- <tiêu chí đo được 2>
- <tiêu chí đo được 3>
## CONSTRAINTS
- Assembly First.
- Không hardcode.
- Không vượt scope.
- Nếu read-only: no DDL/DML/code/config mutation.
- Nếu đụng VPS/runtime: VPS = SSOT.
## VERIFY — BẮT BUỘC
Agent tự kiểm bằng phương pháp độc lập, ghi giá trị cụ thể.
Sai 1 check → STOP, report blocker, không workaround ngoài scope.
## AP-CLOSE
- Upload report vào KB `reports/`.
- Nếu có sửa repo/file: git status → git add → git commit → git status clean → ghi commit hash.
- Ghi TD/tracker nếu có việc deferred.
4. Khi nào được viết prompt dài?
Chỉ khi có rủi ro cao:
- production mutation;
- database write;
- deploy/runtime restart;
- permission/security change;
- rollback cần chính xác;
- thao tác dễ phá SSOT.
Nếu prompt dài, phải có:
- Gate 0.
- Backup/rollback nếu mutation.
- Verify độc lập.
- STOP rule rõ.
- AP-CLOSE.
5. AP-CLOSE — bắt buộc sau mỗi nhiệm vụ
Nhiệm vụ chỉ được coi là xong khi có:
- Report KB trong
reports/hoặc đúng folder quy định. - Evidence cụ thể: HTTP code, counts, IDs, hash, commit, path, backup path, v.v.
- Nếu sửa repo/file: git commit bắt buộc.
- Nếu còn nợ: ghi TD, không để trôi trong chat.
- Nếu phát hiện nguyên tắc mới/anti-pattern mới: đề xuất update OR.
6. Git / VPS rule
Nếu sửa code/runtime trên VPS:
- Kiểm
git statustrước. - Chỉ sửa đúng scope.
- Verify.
git addđúng file.git commitvới message rõ.git statusclean.- Report commit hash.
Không pull/push/reset/checkout nếu prompt không cho phép.
7. Read-only inventory rule
Inventory phải:
- read-only;
- không DDL/DML;
- không Directus mutation;
- không code change;
- không git operation nếu không sửa file;
- có summary + raw evidence + findings + limitations;
- không chỉ paste raw log.
8. Out-of-scope blocker
Nếu gặp blocker ngoài mục tiêu:
- STOP.
- Ghi blocker + evidence.
- Đề xuất hướng.
- Chờ User/GPT/Opus quyết.
Không tự mở nhánh mới, không workaround kiến trúc ngoài scope.
9. Anti-pattern cần tránh
- Prompt quá dài, khóa cứng từng lệnh không cần thiết.
- Làm theo giả định khi chưa chắc.
- Code khi có thể assembly/config.
- Quên report KB.
- Quên git commit sau khi sửa repo.
- Chỉ báo PASS/FAIL không có số liệu.
- Dùng
/tmphoặc local machine làm SSOT. - Trộn task phụ vào task chính.
- Deploy/runtime mà không backup/rollback.
- Tạo khái niệm mới khi khái niệm cũ có thể mở rộng.
10. Chuyển phiên / Handoff
Khi gần hết context hoặc kết thúc mốc lớn, handoff phải có:
- Mục tiêu phiên.
- Kết quả đã đạt.
- Commit/report/document paths.
- TD còn nợ.
- Blocker/rủi ro.
- Bước tiếp theo.
- Prompt ngắn đề xuất cho phiên sau nếu cần.
11. Anti-pattern đặc biệt: IAM/Secret reset
Khi gặp secret/IAM fail định kỳ:
- Không fix nhanh bằng grant role rồi coi là xong.
- Kiểm cache TTL, conditional binding, audit log SetIamPolicy, Terraform/script/cron/GHA reset.
- Lưu baseline để bắt pattern tái phát.
- Nếu code phụ thuộc credential, phải detect expiry và alert.
12. Tài liệu tham chiếu
- Hiến pháp:
knowledge/dev/laws/constitution.md - OR cheat sheet:
knowledge/dev/ssot/or-cheatsheet-open-goal-prompt-v2026-05-01.md - Tracker/TD:
knowledge/current-state/project-progress-tracker.md - Handoff:
knowledge/current-state/handoff-{session}.md
13. Câu chốt
Khóa đầu ra, không khóa cách làm.
Kiểm chứng bằng evidence, không bằng cảm giác.
Xong việc phải đóng việc: report, TD, git commit nếu có sửa.