KB-C284 rev 51

Nguyên tắc Điều hành — SSOT v7.58 Concise

6 min read Revision 51
ORoperating-rulesssotpromptassembly-firstv7.58

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 marker operating-rules-v7.57-backup-before-v7.58-2026-05-01.md.


0. Luật gốc

  1. Không chắc đúng = sai. Chưa chắc thì kiểm tra hoặc STOP.
  2. Assembly First. Dùng cái có sẵn/config/metadata trước. Code/schema là phương án cuối.
  3. VPS = SSOT code/runtime nếu đụng hệ thống đang chạy.
  4. 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.
  5. Không hardcode. Giá trị cụ thể chỉ dùng để verify hoặc fixture có kiểm soát.
  6. 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:

  1. Đọc OR này.
  2. Đọc Hiến pháp + luật/tài liệu liên quan.
  3. Xác định SSOT và môi trường thực thi.
  4. Xác định việc này là read-only, config, code, hay runtime mutation.
  5. 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

  1. Việc này vĩnh viễn hay tạm?
  2. Còn khả năng nhầm môi trường/SSOT không?
  3. Có thể tự thích nghi khi dữ liệu thay đổi không?
  4. Có thể lắp ráp/config thay vì code không?
  5. Có hardcode không?
  6. 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ó:

  1. Gate 0.
  2. Backup/rollback nếu mutation.
  3. Verify độc lập.
  4. STOP rule rõ.
  5. 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ó:

  1. Report KB trong reports/ hoặc đúng folder quy định.
  2. Evidence cụ thể: HTTP code, counts, IDs, hash, commit, path, backup path, v.v.
  3. Nếu sửa repo/file: git commit bắt buộc.
  4. Nếu còn nợ: ghi TD, không để trôi trong chat.
  5. 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:

  1. Kiểm git status trước.
  2. Chỉ sửa đúng scope.
  3. Verify.
  4. git add đúng file.
  5. git commit với message rõ.
  6. git status clean.
  7. 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:

  1. STOP.
  2. Ghi blocker + evidence.
  3. Đề xuất hướng.
  4. 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 /tmp hoặ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ó:

  1. Mục tiêu phiên.
  2. Kết quả đã đạt.
  3. Commit/report/document paths.
  4. TD còn nợ.
  5. Blocker/rủi ro.
  6. Bước tiếp theo.
  7. 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.