# -*- coding: utf-8 -*-
"""Lô 08: mẫu TRẮNG BẠC (whitewashed) vân dọc — phôi gỗ OAK TRẮNG hơi vàng. Chuẩn bị ảnh + ô zoom + khối LÔ NÀY."""
import io, os, re, shutil, subprocess

D = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son'
PY = r'C:\Users\admin\AppData\Local\hermes\hermes-agent\venv\Scripts\python.exe'
ND = os.path.join(D, 'anh_mau_moi')
DX = os.path.join(D, 'da_xu_ly')
SRC = os.path.join(os.environ['LOCALAPPDATA'], 'hermes', 'cache', 'images', 'img_f2eeb722b13a.jpg')

for f in sorted(os.listdir(ND)):
    if f.endswith(('.jpg', '.png')) or f.startswith('_'):
        shutil.move(os.path.join(ND, f), os.path.join(DX, 'lo07_' + f))
shutil.copy2(SRC, os.path.join(ND, 'mau_01.jpg'))
print('thư mục nhận:', sorted(os.listdir(ND)), '| ảnh mẫu:', os.path.getsize(os.path.join(ND, 'mau_01.jpg')), 'byte')

r = subprocess.run([PY, os.path.join(D, 'tao_zoom.py')], capture_output=True, text=True, encoding='utf-8', errors='replace', cwd=D)
print(r.stdout.strip())

P = os.path.join(D, 'YEU_CAU_de_xuat_quy_trinh.txt')
t = io.open(P, encoding='utf-8').read()
khoi = """## LÔ NÀY (cập nhật mỗi lô — chủ dự án cung cấp) — LÔ MẪU 08 (TRẮNG BẠC / WHITEWASHED vân dọc — PHÔI OAK TRẮNG hơi vàng)
- **Ảnh trong thư mục nhận:** `mau_01.jpg` = **ảnh MẪU MÀU** (đọc & chèn vào tài liệu). **ẢNH GỖ MỘC: CHƯA CÓ** ⇒ in 1 dòng *“THIẾU ẢNH GỖ MỘC — đề nghị chủ dự án cung cấp”*.
- **Chủ dự án cung cấp (nguyên văn):** *“Thử phân tích đưa ra qui trình màu này xem sao, **gỗ mộc là OAK trắng hơi vàng**”* ⇒ **phôi gỗ ĐÃ BIẾT: OAK TRẮNG, hơi ngả vàng** (không cần suy đoán loài; nêu 1 dòng đặc điểm ảnh hưởng kỹ thuật: oak trắng có **mạch hở to**, dễ **đọng màu trong rãnh**, nền vốn sáng nên **không cần tẩy mạnh** — chỉ khử ánh vàng nhẹ).
- **Mẫu (đọc từ ảnh):** **trắng bạc – trắng xám (whitewashed / bleached-lime)**, **vân dọc mịn**, có **ánh be ấm rất nhẹ**; **rất mờ (matte)**; cần xác định rõ **có trắng đọng trong ghim sớ (limed/cerused) hay không** — nếu có thì **BẮT BUỘC** dùng **Bước 11 Lau bột bụi** (bột lau + **màu trắng**), đặt **sau lót màu nền, trước lớp lót trong**.
- **Kỹ thuật phải kết luận rõ CẦN / KHÔNG CẦN:**
  * **khử ánh vàng nhẹ ở khâu mộc** (tẩy/khử vàng nhẹ — vì oak trắng chỉ hơi vàng; **không tẩy trắng mạnh**);
  * **nhuộm/lót màu TRẮNG-XÁM sáng** (whitewash) để ra nền trắng bạc;
  * **trắng ghim sớ (limed/cerused – Bước 11)** nếu ảnh có trắng đọng trong rãnh mạch;
  * tuân thủ **thứ tự chuẩn**: nhuộm nền → **lót mỏng washcoat** → **kiểm tra–dặm màu (không chà nhám)** → **lau màu pha loãng** (nếu cần dìm sớ — với tông trắng thì dìm bằng màu **xám nhạt/trắng ngà**, không dùng màu sẫm) → khoá lót → chà nhám → kiểm tra–dặm màu → phủ bóng siêu mờ.
  * **Áp luật #20 nếu mẫu có chiều sâu:** nếu mẫu có nhiều khối sáng–tối thì chia nhiều lớp màu với nguyên tắc **màu dưới đậm hơn màu trên**, và **pad stain/đánh glaze chuyển tối → sáng nhạt dần** ở vùng cần sáng; nếu mẫu đều một tông thì ghi rõ *“không cần chia lớp màu”*.
- **HỆ SƠN:** suy đoán **sản phẩm** từ ảnh (đồ nội thất ⇒ **NC**; ván sàn/ván lát hoặc đồ ngoài trời ⇒ **PU NGOÀI TRỜI**, luật #19) — chọn theo bằng chứng ảnh và **ghi rõ 1 dòng lý do**, không hỏi lại. Với tông trắng: toàn hệ phải **kháng ngả vàng (non-yellowing)**.
- **Đầu ra (pipeline đặt theo tên mẫu):** `PHAN_TICH_OAK-TRANG-BAC_2026-10-06.md` (bước 1, nội bộ) và `QUY_TRINH_DE_XUAT_OAK-TRANG-BAC_2026-10-06.md` (bước 2, tài liệu gửi đi) — ⚠️ **KHÔNG ghi đè** file của các lô 04–07.

"""
t2 = re.sub(r'## LÔ NÀY.*?(?=## QUY TẮC TRÌNH BÀY)', khoi, t, flags=re.S)
assert t2 != t and 'LÔ MẪU 08' in t2
io.open(P, 'w', encoding='utf-8', newline='').write(t2)
print('đã cập nhật khối LÔ NÀY → LÔ MẪU 08 |', len(t2), 'ký tự')
for k in ['OAK trắng hơi vàng', 'Bước 11 Lau bột bụi', 'khử ánh vàng nhẹ', 'không cần chia lớp màu', 'non-yellowing']:
    print('   ', k, ':', k in t2)
