67 lines
4.4 KiB
Markdown
67 lines
4.4 KiB
Markdown
# 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.
|