# sub-task-0 — VIỆC 1: flip contextual_retrieval true→false

> Engine: HMW-worker Opus-MAX · run S127-adap-dot-16-07 · 2026-07-16
> File đích DUY NHẤT: `D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP\.claude\rag.json` (TRONG repo SE — LỆCH-1: KHÔNG đụng AI_INFRA)
> Trạng thái: **HOÀN TẤT** — verify PASS (python in `False`, JSON parse OK, diff đúng 2 dòng)

## Nguồn spec (đọc trước khi làm)
- spec-execute-dot-16-07.md wave-1 item 1 (dòng 12)
- sub-investigator-2-spec-draft.md §VIỆC 1 (dòng 18-44) — canonical diff before→after + lệnh verify

## EXACT-EDIT — đối chiếu before-text với ĐĨA (khớp 1/1)

| Dòng | Before (đĩa, đã strip cat-n prefix) | Khớp draft? |
|---|---|---|
| 26 | `  "contextual_retrieval": true,` | ✓ khớp draft:34 before |
| 31 | `    "contextual_retrieval_rationale": "Flag true but per v1.3 §12.1 + §9.4: SOLUTION_ERP chunks self-contained (gotchas, patterns, decisions) → Contextual Retrieval prepend likely wasteful. Evaluate per eval recall@5 trial week 3.",` | ✓ khớp draft:35 before (key+value giống hệt) |

Ghi chú #30: `.claude/rag.json` là JSON, KHÔNG phải `.ps1` → pure-ASCII KHÔNG áp. File vốn đã chứa non-ASCII (`§`, `→`, tiếng Việt "Quản lý HĐ NCC"). Em-dash `—` trong after-string là ĐÚNG (giữ nguyên theo draft:36), KHÔNG thay `--`.

## Diff áp (2 Edit, non-overlapping, unique-match)

### Edit 1 — dòng 26
```
- "contextual_retrieval": true,
+ "contextual_retrieval": false,
```

### Edit 2 — dòng 31 (thay TOÀN BỘ value, giữ indent 4-space + trailing comma)
```
- "contextual_retrieval_rationale": "Flag true but per v1.3 §12.1 + §9.4: SOLUTION_ERP chunks self-contained (gotchas, patterns, decisions) → Contextual Retrieval prepend likely wasteful. Evaluate per eval recall@5 trial week 3.",
+ "contextual_retrieval_rationale": "FALSE — OWNER-FINAL fleet-wide 2026-07-16 (broadcast f5ce2778: hub-owner chốt false toàn fleet; flag trong khung chỉ gate structural title-prepend ở chunking.py — 0 API-call, KHÔNG phải dead-config-vì-thiếu-key). Lineage SE: true 2026-05-26 → flip S127 2026-07-16. Rationale cũ 'Evaluate trial week 3' = revisit ĐÓNG bởi owner-final (trial không chạy). Recall-delta chưa đo (hub khai); data đã nhúng giữ nguyên tới re-bootstrap kế (AI_INFRA op). Mirror khung: projects.py:39 default False.",
```

## Verify — output THẬT (paste, không mô tả suông)

### V1 — python parse + value (lệnh y hệt task/draft:38-41)
```
$ python -c "import json; c=json.load(open(r'D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP\.claude\rag.json', encoding='utf-8')); print(c['contextual_retrieval'])"
False
```
→ expected `False` ✓ — đồng thời `json.load` KHÔNG throw ⇒ JSON parse OK (file không vỡ, encoding UTF-8 nguyên).

### V2 — git diff scope 1 file (chứng chỉ 2 dòng đổi, 0 key khác)
```
$ git --no-pager diff -- .claude/rag.json
@@ -23,12 +23,12 @@
   "auto_reindex_mode": "replace",
   "chunk_size": 1500,
   "chunk_overlap": 200,
-  "contextual_retrieval": true,
+  "contextual_retrieval": false,
   "_decision_log": {
     ...
-    "contextual_retrieval_rationale": "Flag true but per v1.3 §12.1 + §9.4: ... Evaluate per eval recall@5 trial week 3.",
+    "contextual_retrieval_rationale": "FALSE — OWNER-FINAL fleet-wide 2026-07-16 ... Mirror khung: projects.py:39 default False.",
```
→ 1 hunk, đúng 2 dòng `-/+`; context lines quanh (spec_a_vs_b, spec_chosen_date, anatomy_threshold, chunk_size_rationale) KHÔNG đổi ⇒ 0 key khác bị chạm. Em-dash `—` + tiếng Việt render đúng trong diff ⇒ encoding preserved.

## Acceptance D (draft:44) — PASS
- [x] `python ... print(c['contextual_retrieval'])` → `False`
- [x] JSON parse OK (json.load no-exception)
- [x] `git diff` chỉ 1 file `.claude/rag.json`, đúng 2 dòng dự-kiến
- [x] CẤM đã tuân: 0 đụng AI_INFRA · 0 bootstrap/re-index · 0 sửa key khác · 0 file ngoài {rag.json + sub-task-0.md}

## Caveat honest
- Hiệu-lực index (embed đã nhúng) chờ **re-bootstrap** = AI_INFRA-op (charter v2, cần VOYAGE key) — KHÔNG tự chạy `bootstrap.py`. Data cũ giữ nguyên tới re-index kế (broadcast §3). Flip này CHỈ đổi config file SE; khung AI_INFRA đã mirror `false` sẵn (`projects.py:39` owner-final, `AI_INFRA\.claude\rag.json:33` false từ 2026-05-26) → SE chỉ đồng-bộ file của mình.
