KB-3408

Điều 41 real PG sandbox Codex revision report 2026-05-21

9 min read Revision 1
dieu41real-pg-sandboxagent-sandboxcodexrevision-report2026-05-21pass

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

  1. 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.

  2. 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_id hoặc DB/schema riêng và cleanup một lệnh.

  3. 100% tự động?
    Mỗi task sandbox có temporary ledger agent_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.md revision 18 trước patch mới, content length 29856.
    • knowledge/dev/laws/dieu41-revision-rulings/dieu41-agent-sandbox-codex-revision-report-2026-05-21.md revision 1.
    • knowledge/dev/ssot/operating-rules.md revision 51.
    • knowledge/dev/laws/constitution.md revision 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-13 cho phép open-source agents dùng S2 khi task cần DB.
    • NT-VPS-15 bắt buộc S2 integration test PASS khi patch đụng DB/API/persistence.
    • NT-VPS-16 yê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.md
    • assignee.json
    • patch.diff
    • tests.diff hoặc tests/
    • patch_metadata.json
    • review_status.json
    • implementation_report.md
    • commands_run.txt
    • test_result.txt
    • risk_notes.md
    • cleanup_command.txt và optional cleanup.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ồi DROP SCHEMA ... CASCADE, rồi DELETE ... 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ả REWORK nế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.
Back to Knowledge Hub knowledge/dev/laws/dieu41-revision-rulings/dieu41-real-pg-sandbox-codex-revision-report-2026-05-21.md