# Tariff Instrument — Phase 1 pre-registration (rate-as-collected)
Registered 2026-08-08, BEFORE any chart or finding is drawn from tariffs.db.

## What this instrument is
US Census national imports, HS6 × country × month, 2017-01 → present:
consumption value, dutiable value, calculated duty (regular tariffs as
estimated at entry). Effective rate := calc_duty / dutiable_value, always
derived at query time, never stored, never mixed across tables.

## Known limitations (disclosed on every response)
1. CAL_DUT excludes anti-dumping/countervailing duties and MPF/HMF fees —
   understates true burden on AD/CVD-heavy codes (steel, aluminum, solar).
2. Duties attach to imports-for-CONSUMPTION; the port ledger measures GENERAL
   imports. The two are never divided into each other. FTZ/bonded-warehouse
   timing differs by code.
3. De minimis (<$800) shipments filed no entries → invisible pre-2025 for
   China e-commerce; the 2025 removal is a REGIME BREAK, not a trade surge.
4. HS revisions (notably 2022) split/merge codes; within-code series respect
   code lifespans; long series use concordance or stop at the boundary.
5. Region rollup codes (0003, 0014, 1XXX…) are stored but excluded from
   country analysis; used only for reconciliation.

## Kill-switch (must pass before ANYTHING publishes)
K1. Reconciliation: summed CAL_DUT_MO across all real countries must match
    (a) the all-countries rollup rows within 0.5%, and (b) published
    CBP/Treasury monthly duty collections within a stated tolerance (target
    ±10%; CBP totals include AD/CVD and fees, so a stable, explainable gap
    is expected — an UNSTABLE gap kills publication).
K2. Spot-rate sanity: 20 hand-checked cells (code × origin × month) vs
    statutory expectations — e.g. pre-301 China rates near MFN; EU MFN-only
    codes near schedule rates. >2 unexplainable misses kills publication.
K3. Continuity: no month with >5% missing pulls (pull_progress 'fail').

## Registered questions (written before looking)
Q1. China's effective collected rate, all goods, monthly 2017→now: does the
    curve match the known 301/IEEPA staircase in TIMING (±1 month of
    effective dates)? Falsifier: jumps appear where no action exists, or
    actions produce no jump on covered codes.
Q2. Duty-per-kg on the CW-1 furniture codes: did duty/kg fall alongside the
    declared-value collapse within identical codes (undervaluation cross)?
    Falsifier: duty/kg flat while declared $/kg fell (would point to rate
    changes, not undervaluation).
Q3. Exclusions: on 301-excluded code lists (2019-2020), does the collected
    rate visibly drop during exclusion windows and recover at expiry?
    Falsifier: no rate response inside published exclusion windows.

## Isolation guarantees (how this cannot disturb the live system)
- Separate DB file (tariffs.db); ledger.db and trimtab.db untouched.
- Backfill runs on the Mac only; the box receives a finished .db by scp.
- Server integration is additive: new module + new tool; existing routes and
  tools unmodified; per-file node --check before every scp; rollback =
  remove one require + restart.
- The server opens tariffs.db read-only, same as every other DB.
- Nothing publishes (no page, no tool) until K1–K3 pass and are recorded here.

## KILL-SWITCH OUTCOMES — recorded 2026-08-08
K1b (external, Treasury MTS "Customs Duties" net receipts, 114 months): PASS.
  Yearly mean ratio ours(assessed)/Treasury(net collected): 0.89–1.03, every year
  2017–2026. Expected <1 in normal times (we exclude AD/CVD + fees); documented
  divergences: 2025 spikes (IEEPA cash-timing) and 2026-05/06 where Treasury net
  goes ~0/negative on court-ordered IEEPA REFUNDS — our assessed-at-entry figures
  correctly do not follow refunds. Divergence understood = check passed.
K2 (spot cells vs statutory expectations): PASS 12/12 after correctly applying
  dutiable-value semantics — duty-free lines carry dut_val=0 (e.g. China wooden
  seats 2017-06: $348M consumption, $0 dutiable, $0 duty = MFN Free confirmed);
  Mexico avocados 2024-06: 99.92% of value entered USMCA-free, the quoted 2.8%
  is the rate on the 0.08% non-claiming sliver. DESIGN RULE: the tool serves BOTH
  rate_on_dutiable (duty/dut_val) AND burden (duty/con_val). Never conflated.
  Confirmed cells include: Germany & Japan cars 2.5% (MFN exact), Vietnam knit
  sweaters 32.0%, China seats 25.0% (2019-12, 301), China toys 30.3% (2025-06,
  IEEPA), Italy wine 1.1%.
K3 (completeness): PASS. 114/114 months, 0 failed pulls, 225–233 real countries
  per month (variation = genuine trade sparsity, not pipeline gaps).
K1a (internal, Census world-total rows, all 114 months): RUNNING — result to be
  appended verbatim when complete. Publication remains gated until it lands.
K1a (internal, Census official world-total rows I_COMMODITY=-&CTY_CODE=-,
  all 114 months): PASS — 114/114 reconciled, worst deviation 0.000%, no month
  beyond the 0.5% tolerance. GATE CLOSED 2026-08-08: all kill-switches green;
  Phase 1 (tariff_burden tool + /tariffs page + /api/tariff) cleared to publish.

## ATLAS STUDY REGISTRATIONS — written 2026-08-09 BEFORE final runs
R1 india-gsp-2019: US withdrawal of India's GSP benefits (effective 2019-06-05)
  produces a discrete, sustained step UP in India's dutiable share of import value
  in June 2019 (≥8pp vs May), sustained through December (≥+8pp vs Jan-May mean),
  with no donor origin (China, Vietnam, Taiwan, Japan — non-GSP majors) stepping
  ≥3pp in the same month. FALSIFIED IF: the step is absent/<8pp, gradual, pre-dated,
  or matched by any donor.
R2 tariff-wall: In the pre-war window (2017-01→2018-05), the mean effective burden
  of the apparel-origin set {Cambodia, Bangladesh, Sri Lanka, Pakistan} is ≥3x the
  mean burden of the rich-origin set {Germany, Japan, UK, France}. The 2025 wave
  NARROWED this ratio (2026 H1 ratio < pre-war ratio) by raising the bottom of the
  wall's beneficiaries (rich-set burden rises ≥4x its pre-war level). FALSIFIED IF:
  pre-war ratio <3x, or the ratio widened.
R3 laptop-exodus: On HS 847130 (portable computers), (a) China's share of world
  imports fell ≥45pp within 5 months of 2025-02; (b) world totals stayed within
  ±20% of the 2024-H2 monthly mean during the collapse (ruling out demand/reclass);
  (c) after the tariff's removal (China burden <2% by 2026-03), China's share
  recovered LESS THAN HALF of its loss by 2026-06. FALSIFIED IF any of a/b/c fails.
R4 232-vs-ieepa-retention: Chapters under Section 232 sectoral measures
  {72,73,74,76,87} retained ≥65% of their tariff increase (2024 baseline → peak
  2025-09..2026-01 → now 2026-04..06), while non-232 major chapters {84,85,61,62,94,95}
  retained ≤55%. Chapters whose peak < baseline are excluded (metric undefined) and
  disclosed. FALSIFIED IF the two groups overlap on retention.
R5 dodge-premium-methods (negative result, registered for publication AS a methods
  lesson): the naive claim "trade migrates to the lower-tariff origin in proportion
  to the rate spread" fails — Vietnam grew fastest where spreads were SMALLEST,
  because rate-on-dutiable is computed on a rounding error when duty-free share is
  high. Registered claim: bucketed China→Vietnam spread vs growth shows NO positive
  monotone relation. FALSIFIED IF the relation is positive and monotone.

R6 china-coverage-collapse (registered 2026-08-09, before decomposition run): the
  2025 rise in China's effective burden came MORE from ending duty-free entry
  (coverage) than from raising rates on already-dutiable goods. Registered claim:
  decomposing the 2017-06 → 2025-05 burden rise as Δburden = rate-effect
  (2017 coverage held fixed) + coverage-effect (new coverage at end rates), the
  coverage term accounts for the larger share. Known before registration: dutiable
  share 2017-06 ≈ 42%, 2025-06 92.6% (published on /tariffs); the decomposition
  split itself has NOT been computed. FALSIFIED IF the rate effect alone, holding
  2017 coverage fixed, explains half or more of the burden rise.

R7 rulebook-versus-receipts (methods study, registered 2026-08-09 before run): an
  effective tariff rate computed by summing the published schedule's applicable
  measures cannot be reconciled with the collected receipts on the same codes by
  any constant correction. Registered claim: across ≥4 China test codes spanning
  301-only, 301+2025, and heavily-excluded goods, the ratio collected ÷
  schedule-sum is non-constant (spread of ratios > 2x between codes). FALSIFIED IF
  a single scalar maps schedule sums onto collected rates within ±5 points on all
  test codes — arithmetic reconciliation would then be possible.

R6 VERDICT (run 2026-08-09, frozen data to 2026-06): CONFIRMED. Burden rise
  2017-06→2025-05: 2.71% → 47.92% (+45.2pp). Decomposition: rate effect at 2017
  coverage 19.24pp (42.5%), coverage effect at end rates 25.98pp (57.5%).
  Dutiable share 41.8% (2017-06) → 91.3% (2025-05) → 80.9% (2026-06). Falsifier
  (rate effect ≥ half) not met.

R7 VERDICT (run 2026-08-09, month 2026-06, China): CONFIRMED. Collected ÷
  naive-schedule-sum ratios: cars-1.5-3L .636, sweaters .613, upholstered seats
  .548, laptops .205, toys .133, li-ion batteries .054 (sum reads 642.5%,
  collects 34.4%). Spread 11.8x between codes — no scalar reconciles; falsifier
  not met. Naive sum = accepted China-scoped measures naming the code in
  extracted scope, plus measures with no machine-readable scope (PDF annexes) —
  exactly what a schedule reader cannot exclude.

## DEVIATIONS FROM REGISTRATION — recorded 2026-08-10, after an external editorial audit
Two outcomes above deviate from the registered plan. They are flagged here rather
than silently absorbed, because a pre-registration that only reports clean passes
is not a pre-registration:

- **K2 ran 12 of the 20 registered cells.** The registration says "20 hand-checked
  cells (code × origin × month)"; the outcome records PASS 12/12. Twelve of twelve
  run cells passed, but the check as registered is 12-of-20 complete. The remaining
  8 cells will be run and appended verbatim, pass or fail.
- **K1b's observed range breaches the registered tolerance.** The registration
  names a ±10% target; the recorded yearly ratio range 0.89–1.03 includes 0.89,
  outside that band. The divergence has a documented cause (assessed-at-entry vs
  Treasury-net books tearing apart on IEEPA refund timing, plus AD/CVD + fees we
  deliberately exclude) and the explanation stands — but the original PASS should
  have stated that the registered tolerance was exceeded and why the check was
  accepted anyway. It now does.

The registration and outcome text above is unchanged. This note is the correction
mechanism working in public.

## Registered 2026-08-12 — the objectives-side and against-interest studies (bias audit R1/R3)
Registered before any data is touched, in response to the 2026-08-12 bias audit finding that
every published study tests a cost and none tests a stated objective of the tariffs.

### PR-232-TONNAGE — Did protected metal chapters import less?
Hypothesis: containerised import tonnage in the Section-232 chapters (72, 73, 76) declined
materially after the 2025 wave relative to non-protected chapters. Falsifier: if 232-chapter
tonnage tracked or exceeded the non-protected baseline (as the ledger's uncommented
"articles of base metal +76%" hints), the protection did not reduce import volume — publish that.
Data: TT-008 port ledger, chapters 72/73/76 vs all-other-chapter baseline, 2024-01 → latest.

### PR-BASKET-UNIT-VALUE — What happened to the price of the import basket?
Hypothesis: basket-level unit value (customs value ÷ kg, fixed-weight across chapters) rose
after the 2025 wave — the consumer-cost channel. Falsifier: flat or falling fixed-weight unit
value means the cost claim cannot be made from this data — publish that.
Data: TT-008, chapter-level value and weight, Laspeyres-weighted on 2024 composition.

### PR-INDIA-INVOICE — The shrinking-invoice method, turned on the publisher's corridor
Hypothesis test run exactly as the China study (matched HS6, year-before vs year-after windows
around India's 2025 tariff events), regardless of result. Against-interest by construction:
a large within-good decline for India would suggest under-declaration on the publisher's own lane.

### PR-INDIA-ETA — India declared-ETA reliability
When TT-006 coverage of India-origin arrivals reaches n≥30 vessels, publish India's stale-ETA
share against the fleet baseline (80.2%), whatever it shows. Against-interest by construction.
