1# WP21 — LLM-assisted coefficient extraction protocol (Phase C)23Input per paper: `data/extracted/dumps/<record_id>.txt` (metadata header, abstract, candidate table pages with page numbers).4Output per paper: `data/extracted/json/<record_id>.json` conforming to the schema below. One extractor agent per batch of papers;5an independent second extractor re-does a random 15 % sample (`data/validated/`). Rules:671. Extract ONLY what is printed. Never infer a standard error; if only stars are given, record `se: null`, `p_stars: "***"` and the8 star legend in `notes`. If t-statistics are in parentheses (check the table note), record `t`, not `se`.92. One row per coefficient of a hedonic variable (taxonomy in `scripts/harmonization/taxonomy.yaml`) per model (column). Record10 the exact printed variable name and the table/column/page. Do not extract constants, fixed-effect dummies, or variables that11 are not property/neighbourhood/environment/location/market/AI characteristics.123. Record the dependent variable and its transformation (`log`, `level`, `boxcox`, `per_m2`, `other`) and the regressor13 transformation (`level`, `log`, `binary`, `dummy`, `squared`, `other`) and unit (`m2`, `sqft`, `km`, `miles`, `m`, `years`, `count`,14 `index`, `share`, `db`, `currency`, ...). If a variable enters as log, say so.154. Study-level fields: country, region/city, sample period (start/end years of the transactions), property type16 (single_family / condo_apartment / multifamily / rental / mixed / unknown), price type (transaction / listing / appraisal / rent),17 n_obs (per model if it varies), estimator (OLS / WLS / spatial_lag / spatial_error / SAC / GWR / FE_panel / IV / quantile /18 ML_marginal / other), fixed effects (time, location), SE type (OLS / robust / clustered / unknown), R² if printed.195. `confidence`: `high` when the number was read from a clear table with an explicit SE/t legend; `medium` when the legend is20 ambiguous or the table is partly garbled; `low` when a value had to be guessed from context (then it must not be used).216. If the paper is not a hedonic price study after all (no residential price outcome or no characteristic coefficients), return22 `{"record_id": ..., "eligible": false, "exclusion_reason": "..."}`.2324## JSON schema (per paper)25```json26{27 "record_id": "string", "eligible": true, "exclusion_reason": null,28 "study": {"title": "", "year": 0, "doi": "", "country": "", "region_city": "", "sample_start": 0, "sample_end": 0,29 "property_type": "", "price_type": "", "data_source": "", "document_type": "journal|working_paper|thesis|conference|chapter",30 "estimators": [""], "spatial_method": "", "time_fe": true, "location_fe": true, "se_type": "", "n_obs_total": 0,31 "ai_methods": [""], "notes": ""},32 "models": [{"model_id": "T2-c1", "table": "2", "column": "1", "page": 12, "dep_var": "", "dep_transform": "log", "estimator": "OLS",33 "n_obs": 0, "r2": null, "se_or_t_in_parentheses": "se|t|p|none", "sample_subset": ""}],34 "coefficients": [{"model_id": "T2-c1", "var_name_printed": "", "taxonomy_id": "living_area", "x_transform": "log", "x_unit": "m2",35 "beta": 0.0, "se": null, "t": null, "p": null, "p_stars": "", "ci_lo": null, "ci_hi": null, "page": 12,36 "confidence": "high", "notes": ""}]37}38```39