Before combining these supplied files, use this data dictionary:
[field meaning, type, unit, grain, key and missing convention].
Confirm the intended join and scope. Preserve text identifiers including
leading zeros, valid numeric zero and explicit missing values.
Check required key uniqueness and unmatched records. Do not infer units,
aggregate grain or duplicate policy from column names. Ask a focused
question for any definition needed before the calculation can be valid.

---

Plan the join at [output grain] using [key] and [supplied duplicate rule].
Apply only the stated scope/filter. Show input counts, key checks,
unmatched cases and the expected output grain before the full result.
Keep raw units and display conversions separate. Do not silently drop
unknowns or choose the first duplicate match. Return a small checked
sample and the exact transformations used.

---

The result changed [identifier/unit/missing state/grain] from the supplied
definition. Restore that definition and redo only the affected join or
conversion. Preserve source rows and the agreed filter. Leave ambiguous
duplicate matches unresolved rather than pick one. Show the affected
record IDs and revised counts; do not hide the problem in a zero or total.
