# Task 03 — Filename & Path Tokenization ## Goal Parse every path/filename into structured tokens; classify each file by measurement type and attachment level. ## Input - `manifest/inventory.jsonl` (Task 02). - Known conventions: hierarchy `data_note → batch → coupon(die) → sample`; XRF `L__`; macro friction `data1..data3` (+ atmosphere); nanoindentation `run1..run9`; friction `test_N` / `cycleN` (ambient) or `_N` (dryNitrogen); sample tokens like `456/457`. ## Actions 1. Encode patterns as regex rules in `config/token_patterns.json` (versioned; extend as new patterns are found). 2. Write `scripts/tokenize.py`: apply rules to each inventory row; extract `{batch, coupon, die, sample, measurement_type, attachment_level(coupon|sample), atmosphere, run/test/cycle/seq, lot, date}`. 3. Emit `manifest/tokens.jsonl` and `manifest/unmatched.csv` (files matching no rule, with best-guess notes). ## Intermediate Result (done when) - Every inventory row is in `tokens.jsonl` with either a full classification or an `unmatched` flag. - `unmatched.csv` reviewed; genuinely new conventions added to `token_patterns.json` and the script re-run (repeat until unmatched are only true anomalies).