# NOTE — Testing Policy (2026-09-17, LOCKED) - Koi bhi test local PC pe NAHI chalega. - Saare tests sirf Kaggle pe chalenge (notebook: STF_Testing) ya user-approved rental GPU pe (Step 6 se rental 3090). - Local PC sirf code edit + HF push ke liye. - NOTE (2026-09-18, user-locked): agent ke paas git/auth nahi hai → har code change ke baad PUSH USER karega (local git push, ya rental SYNC cell `docs/RENTAL_3090_RUN.md`). Agent har change ke saath exact push commands dega, aur GPU run se pehle pull-verify step (grep check) cell me rahega. Bina push-confirm training start nahi hogi. - NOTE (2026-09-18, user-locked): HF_TOKEN kabhi chat/file/repo me save mat karo. Token sirf apne GPU pod me getpass se dalo. Agar chat me aa jaye to kaam ke baad HF Settings se revoke + naya banao. - Har Kaggle run ke baad `docs/TEST_REPORT.md` me entry + HF push must. - Har kaam plan ke according hoga: `docs/ROADMAP_SCRATCH.md` Step + `docs/DATA_SOURCES.md` target se tally karke hi aage badhenge. Plan se bahar ka kaam bina approval nahi. - Kaggle pe hamesha SINGLE-CELL run do (setup+verify+train+backup ek cell me, tukdo me command nahi) — user-locked 2026-09-17. Cell: `docs/KAGGLE_RUN.md` (Step 6 section). - NOTE (2026-09-18, user-locked): user ko hamesha POORA runnable code do — "Cell N chalao" mat bolo. Har jawab me copy-paste ready cell aana chahiye. - NOTE (2026-09-18, user-locked): training background (nohup) me chalani hai ya foreground me — pehle USER se pucho, khud decide mat karo. - NOTE (2026-09-18, user-locked): har training ke baad ckpt HF push MANDATORY — `train.py` me inbuilt (`hf_push` + `hf_repo`, token env `HF_TOKEN` se; fail = WARN, crash nahi). Rule: HF pe SIRF FINAL ckpt, naam distinct (`final_step_{N}.pt`); beech wale local me rahenge. NOTE (2026-09-18): 1.7GB full-ckpt upload fail hua → HF pe SLIM infer ckpt (~300-600MB), full ckpt persistent volume pe.