Điều 41 real PG sandbox Codex revision report 2026-05-21
DIEU41_REAL_PG_SANDBOX_REVISION_PASS
Date: 2026-05-21
Agent: Codex
Target: knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md
Report path: knowledge/dev/laws/dieu41-revision-rulings/dieu41-real-pg-sandbox-codex-revision-report-2026-05-21.md
Production mutation: NONE. KB document patch only via Agent Data MCP.
Production DB write: NONE.
Version bump: NONE. Header remains v1.1 BAN HÀNH.
0. Nền tảng / 3 câu Tuyên ngôn
-
Vĩnh viễn?
Sửa đúng Điều 41 v1.1 SSOT hiện hành, không tạo luật cạnh tranh. Mô hình real PG sandbox S2 trở thành rule vận hành tái dùng cho draft agents khi code đụng DB/API/persistence. -
Nhầm được không?
Điều 41 giờ phân biệt rõ: draft agents bị cấm production data/schema/secret/deploy, nhưng được phép S2 real PG sandbox write trong database/schema/task-scoped rows disposable cósandbox_run_idhoặc DB/schema riêng và cleanup một lệnh. -
100% tự động?
Mỗi task sandbox có temporary ledgeragent_sandbox/tasks/<patch_id>/, patch package, metadata, commands, test result, cleanup command verified và acceptance criteria. Cleanup phải có evidence sau khi chạy/dry-run.
1. Files/KB đã đọc
.claude/skills/incomex-rules.md— đọc local trước khi làm.search_knowledge("operating rules SSOT")— trảknowledge/dev/ssot/operating-rules.md, OR v7.58, vàknowledge/dev/ssot/vps/vps-operating-rules.md.search_knowledge("hiến pháp v4.0 constitution")— trảknowledge/dev/laws/constitution.md, Hiến pháp hiện hành v4.6.3.batch_read([...], full=false)— xác nhận:knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.mdrevision 18 trước patch mới, content length 29856.knowledge/dev/laws/dieu41-revision-rulings/dieu41-agent-sandbox-codex-revision-report-2026-05-21.mdrevision 1.knowledge/dev/ssot/operating-rules.mdrevision 51.knowledge/dev/laws/constitution.mdrevision 44.
get_document_for_rewrite("knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md")— đọc full Điều 41 revision 18 trước patch.get_document_for_rewrite("knowledge/dev/laws/dieu41-revision-rulings/dieu41-agent-sandbox-codex-revision-report-2026-05-21.md")— đọc full report Codex trước.
2. Thiết kế trước khi sửa
- Mục tiêu: mở sandbox để open-source agents được dùng DB thật trong boundary disposable khi task cần chứng minh DB/API/persistence chạy được.
- Phương pháp: patch trực tiếp Điều 41 v1.1 bằng
patch_document, không rewrite mù, không nâng version. - Điều kiện cần: KB official patch tool có sẵn; target document tồn tại revision 18; report trước tồn tại revision 1.
- Roadmap: cập nhật §0/§1 → §2A contract/metadata/test/fidelity/cleanup/acceptance/DB classes → §3 allowed/forbidden → §4 roles → §11/§12/changelog → verify → upload report.
3. Nội dung đã patch
Patch trực tiếp knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md, revisions 19→36:
- §0: thêm nguyên tắc nếu patch đụng DB/API/persistence thì draft agent được dùng S2 real PG sandbox write, không phải production write.
- §1:
NT-VPS-13cho phép open-source agents dùng S2 khi task cần DB.NT-VPS-15bắt buộc S2 integration test PASS khi patch đụng DB/API/persistence.NT-VPS-16yêu cầu sandbox DB cùng PostgreSQL engine/version gần production, không copy secret, không cấp production write role, cleanup verified.
- §2A.1: làm rõ draft agents được dùng S2 nhưng không production data/schema.
- §2A.2: thêm temporary workflow ledger
agent_sandbox/tasks/<patch_id>/với các file bắt buộc:task.mdassignee.jsonpatch.difftests.diffhoặctests/patch_metadata.jsonreview_status.jsonimplementation_report.mdcommands_run.txttest_result.txtrisk_notes.mdcleanup_command.txtvà optionalcleanup.sh- optional
sandbox_agent_task_log, nhưng chỉ trong sandbox DB/schema.
- §2A.3: thêm metadata fields
db_access_class,sandbox_run_id,sandbox_db_target. - §2A.4: nếu patch đụng DB/API/persistence thì S2 integration test bắt buộc; patch kém chất lượng trả
REWORK. - §2A.5: sandbox DB/schema tạo từ clean trusted source schema hoặc sanitized snapshot; S2 dùng PostgreSQL engine/version gần production.
- §2A.6: cleanup một lệnh, ưu tiên
DROP DATABASE, rồiDROP SCHEMA ... CASCADE, rồiDELETE ... WHERE sandbox_run_id=...chỉ nếu tagging đầy đủ; cleanup phải test/dry-run verified và có evidence không còn rows/schema/artifacts. - §2A.7: thêm draft patch acceptance criteria trước promotion.
- §2A.8: thay DB access classes S0-S4 thành S0-S5:
- S0 no DB access.
- S1 local fixture/file DB.
- S2 real PG sandbox write cho draft agents.
- S3 production read-only trusted only.
- S4 production rollback-only proof trusted only.
- S5 production persistent write/schema sovereign approval only.
- §3: làm rõ draft agents không được production DB read/write nhưng được S2 sandbox write.
- §4: role DeepSeek/Qwen/open-source cập nhật S0/S1/S2; Claude/Codex không phải viết lại patch kém chất lượng từ đầu, trả
REWORKnếu chưa đạt minimum runnable quality. - §11/§12/changelog: ghi amend trực tiếp 2026-05-21 real PG sandbox, không nâng version.
4. Hai mũ review
Mũ 1 — Coder
- Chỉ dùng
mcp__agent_data__.patch_documentđể patch KB. - Không dùng background agent.
- Không tạo luật mới.
- Không production runtime/DB/secret/deploy mutation.
Mũ 2 — Reviewer
- Kiểm tra mục tiêu chính: S2 real PG sandbox write được mở cho open-source agents, nhưng production data/schema/read/write/secret/deploy vẫn cấm.
- Kiểm tra cleanup: có một lệnh, có priority cleanup, có dry-run/test verification và evidence sau cleanup.
- Kiểm tra ledger:
agent_sandbox/tasks/<patch_id>/và file bắt buộc đã nêu. - Kiểm tra acceptance: patch nháp cần tests PASS, S2 integration PASS nếu có DB logic, cleanup verified, commands/risk notes đầy đủ.
5. Verify evidence thật
5.1. Target revision
get_document("knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md") output chính:
{
"document_id": "knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md",
"revision": 36,
"truncated": true,
"content_length": 35017,
"metadata": {
"title": "Điều 41: Luật Vận hành Mã VPS v1.1 BAN HÀNH",
"tags": ["law", "vps", "dieu-41", "v1.1", "enacted"]
}
}
5.2. List verification
list_documents(path="knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps", limit=20) output chính:
{
"items": [
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-draft-v0.2.md",
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-draft-v0.3.md",
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-draft-v0.4.md",
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-draft-v0.5.1.md",
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-draft-v0.5.md",
"knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md (revision 36)"
],
"count": 6,
"next_offset": null
}
No new v1.2 or duplicate competing enacted law was created.
5.3. Search verification — S2/fidelity
search_knowledge("\"DB access classes cho sandbox và promotion\" \"S2\" \"Real PG sandbox write\" \"S5\"") returned target document snippet:
PG sandbox DB/schema/tagged rows, mocked service hợp lý và lệnh reproducible. Không coi câu khẳng định "PASS" là evidence.
### 2A.5. Sandbox fidelity
Sandbox nên tạo từ clean copy/worktree của trusted source hoặc active release snapshot. Sandbox DB/schema nên được tạo từ clean trusted source schema hoặc sanitized snapshot. Sandbox phải đủ gần production để test thực tế nhưng cleanup được ngay:
- không copy production secret vào sandbox;
- dùng fake/minimal env hoặc env template đã scrub;
5.4. Search/list limitation noted
Semantic search did not always surface the exact S0-S5 table chunk first because other sandbox-PG docs ranked higher. Direct verification used patch_document success revisions 19→36 plus get_document revision 36/list verification. The target document revision and content length changed from revision 18 / 29856 to revision 36 / 35017.
5.5. PASS checklist
- Điều 41 được patch trực tiếp: PASS, revision 36.
- Không nâng version: PASS, title/header remains v1.1.
- Có S2 real PG sandbox write cho open-source agents: PASS, §2A.8.
- Có cleanup một lệnh: PASS, §2A.6.
- Có temporary workflow ledger: PASS, §2A.2.
- Có acceptance criteria buộc test thật: PASS, §2A.7.
- Nếu có DB logic thì S2 integration test PASS: PASS, §2A.4/§2A.7.
- Giữ cấm production data/schema/secret/deploy cho draft agents: PASS, §2A.8/§3/§4.
- Report uploaded: this document.
6. AP-CLOSE
- OR update: Không cần. Mission sửa Điều 41 là target SSOT cụ thể; không phát hiện rule vận hành chung mới cần đưa vào OR.
- TD/tracker: Không phát sinh deferred task.
- Git: Không có local repo file được sửa; KB mutation qua Agent Data MCP nên không có git commit.
- Final route: STOP và route về GPT/User.