# Appendix ## A1. Data Construction and Scope - Analysis window: 2015-2025. - District-year panel size: 143 rows (13 districts x 11 years). - Primary identifiers: `api_norm`, `district`, `year`. - Border geometry includes TX-MX plus TX-NM, TX-OK, TX-LA boundary proximity. ### Build validation counts | Metric | Value | |---|---:| | Wells loaded | 1,010,432 | | Inspections (2015-2025) | 1,867,859 | | Violations (2015-2025) | 191,762 | | Border-exposed wells (any 50 km border) | 169,520 | | Panel observations | 143 | | Districts | 13 | ### Border subtype counts (50 km) | Border subtype | Wells | |---|---:| | TX-MX | 40,339 | | TX-NM | 81,567 | | TX-OK | 19,643 | | TX-LA | 29,675 | ## A2. Supplementary Equations ### Border-type FE interaction model $$ Y_{dt} = \alpha_d + \gamma_t + \sum_k \lambda_k(Post2019_t \times Type_{kd}) + \sum_k \phi_k(PostTrend_t \times Type_{kd}) + \varepsilon_{dt} $$ where $k \in \{\text{TX-MX}, \text{TX-NM}, \text{TX-OK}, \text{TX-LA}\}$. ### Continuous exposure FE interaction model $$ Y_{dt} = \alpha_d + \gamma_t + \eta_1(Post2019_t \times ShareBorder_{dt}) + \eta_2(PostTrend_t \times ShareBorder_{dt}) + \varepsilon_{dt} $$ ### Cutoff-specific exposure $$ ShareBorder^{(c)}_{dt}, \quad c \in \{25,75,100\} $$ substituted into the same FE interaction framework. ## A3. Main FE Interaction Table (RQ2) | Outcome | post_2019 x border | p-value | post_trend x border | p-value | N | |---|---:|---:|---:|---:|---:| | inspection_intensity | -0.1191 | 0.0753 | -0.0052 | 0.8181 | 143 | | violations_per_inspection | 0.0040 | 0.8881 | -0.0012 | 0.8350 | 143 | | avg_days_to_enforcement | -74.5893 | 0.0156 | -1.1587 | 0.9252 | 143 | | resolution_rate | 0.0404 | 0.4520 | -0.0186 | 0.3404 | 143 | ## A4. Border-Type Timing Interactions (Money Plot Companion) | Term | Coefficient | p-value | |---|---:|---:| | post_2019:has_tx_mex | 4.0900 | 0.9062 | | post_2019:has_tx_nm | -18.7442 | 0.6013 | | post_2019:has_tx_ok | -14.2446 | 0.8134 | | post_2019:has_tx_la | -43.6598 | 0.6415 | | post_trend:has_tx_mex | -0.0148 | 0.9991 | | post_trend:has_tx_nm | 22.9067 | 0.0189 | | post_trend:has_tx_ok | -16.7188 | 0.0794 | | post_trend:has_tx_la | 0.6415 | 0.9551 | ## A5. Continuous Exposure Results | Family | Outcome | Term | Coef | p-value | N | |---|---|---|---:|---:|---:| | RQ1 levels continuous | inspection_intensity | share_border_exposed_insp | 0.2095 | 0.4757 | 143 | | RQ1 levels continuous | avg_days_to_enforcement | share_border_exposed_insp | 103.4683 | 0.5710 | 143 | | RQ1 levels continuous | violations_per_inspection | share_border_exposed_insp | -0.1585 | 0.0144 | 143 | | RQ1 levels continuous | resolution_rate | share_border_exposed_insp | -0.0420 | 0.8619 | 143 | | RQ2 FE continuous | avg_days_to_enforcement | post_2019:share_border_exposed_insp | -109.4067 | 0.4449 | 143 | | RQ2 FE continuous | avg_days_to_enforcement | post_trend:share_border_exposed_insp | 13.9623 | 0.7415 | 143 | | RQ2 FE continuous | resolution_rate | post_2019:share_border_exposed_insp | -0.0322 | 0.8163 | 143 | | RQ2 FE continuous | resolution_rate | post_trend:share_border_exposed_insp | -0.0979 | 0.0423 | 143 | ## A6. Cutoff Sensitivity (Timing-Focused Terms) | Cutoff km | Term | Coef | p-value | N | |---:|---|---:|---:|---:| | 25 | post_2019:share_border_25km | -101.9283 | 0.7010 | 143 | | 75 | post_2019:share_border_75km | -75.6591 | 0.5116 | 143 | | 100 | post_2019:share_border_100km | -4.4795 | 0.9474 | 143 | ## A7. District Border-Type Profile | District | Wells | Dominant type | TX-MX share | TX-NM share | TX-OK share | TX-LA share | |---|---:|---|---:|---:|---:|---:| | 01 | 31,898 | TX-MX | 0.2313 | 0.0000 | 0.0000 | 0.0000 | | 02 | 17,099 | NONE | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | 03 | 16,700 | TX-LA | 0.0000 | 0.0000 | 0.0000 | 0.1166 | | 04 | 20,973 | TX-MX | 0.6384 | 0.0000 | 0.0000 | 0.0000 | | 05 | 9,938 | TX-OK | 0.0000 | 0.0000 | 0.0022 | 0.0000 | | 06 | 24,422 | TX-LA | 0.0000 | 0.0000 | 0.0293 | 0.5235 | | 08 | 105,931 | TX-NM | 0.0001 | 0.1905 | 0.0000 | 0.0000 | | 09 | 46,485 | NONE | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | 10 | 29,621 | TX-OK | 0.0000 | 0.0009 | 0.3020 | 0.0000 | | 6E | 6,235 | NONE | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | 7B | 21,230 | NONE | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | 7C | 43,061 | NONE | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | 8A | 42,005 | TX-NM | 0.0000 | 0.4182 | 0.0000 | 0.0000 | ## A8. Figures and Output Artifacts - Border exposure map: `analysis/output_borderlands/well_border_exposure_map.png` - Border vs non-border trends: `analysis/output_borderlands/border_vs_nonborder_trends.png` - Main timing figure: `analysis/output_borderlands/money_plot_timing_border_prepost2019.png` - Timing CI table: `analysis/output_borderlands/money_plot_timing_ci_by_year.csv` ## A9. Optional Prior Artifact (Not Estimated in Current Causal Scope) `analysis/output_borderlands/competition_asymmetry_results.csv` contains: - `gap_pos` = 0.5837 (p < 0.001) - `gap_neg` = 0.4993 (p = 0.0027) These estimates are not part of the current notebook's identified model scope and should not be interpreted as a completed reaction-function test in this manuscript version.