# 02-literature | File | What | |---|---| | `protocol.md` | **Start here.** Review questions, seeds, search strings, criteria, snowballing, flow counts, LLM-use justification | | `search/search-log.csv` | Every search and snowball step that was run: date, source, exact query, hit count | | `search/screening.csv` | All 2,127 de-duplicated records. Fill the `decision` (include/exclude/maybe) and `reason` columns. `ai_proposal` is Claude's first-pass suggestion only | | `search/results/*.csv` | Raw results, one file per search / snowball step | | `extraction-table.csv` | One row per proposed include. Bibliographic columns prefilled; the rest is for your full-text reading | | `references.bib` | BibTeX for the CS6513 paper's references, from arXiv metadata. Import into Zotero | | `citation-check.md` | Errors found in the CS6513 paper's references | | `qknorm-research-findings.md` | Earlier (July/Aug) prior-art notes | | `tools/` | Scripts (Python stdlib only, no installs) | ## Re-running ```sh cd 02-literature python3 tools/search.py openalex '"qk-norm"|"query-key normalization"' --out S1-openalex-qknorm python3 tools/search.py arxiv 'abs:"qk norm"' --out A1-arxiv-qknorm python3 tools/s2.py refs 2309.14322 --out snowball-back-wortsman2024 # backward snowball python3 tools/s2.py cites 2309.14322 --out snowball-fwd-wortsman2024 # forward snowball python3 tools/merge.py # rebuilds screening.csv, keeps your decisions python3 tools/arxiv2bib.py key=2309.14322 >> references.bib ``` Semantic Scholar rate-limits unauthenticated use badly. A free key (semanticscholar.org/product/api) set as `S2_API_KEY` fixes it. ## Zotero 1. Install Zotero + the **Better BibTeX** plugin. 2. File → Import → `references.bib`. 3. Better BibTeX → right-click the collection → Export → "Keep updated" → `references.bib`, so Zotero becomes the source of truth from then on.