# Task 05 — Schema Grouping & Inconsistency Report ## Goal Enumerate distinct record structures per measurement type; expose structural inconsistencies. ## Input - `manifest/tokens.jsonl`, `manifest/schema_profiles.jsonl`. ## Actions 1. Write `scripts/group_schemas.py`: group files by `measurement_type × fingerprint`. 2. Emit `manifest/fingerprint_report.md` per measurement type: list of distinct fingerprints, file count each, canonical column set each, column-name diffs between fingerprints (added/removed/renamed candidates), dtype conflicts. 3. Emit `manifest/inconsistencies.csv`: one row per detected inconsistency `{measurement_type, kind(column_set|naming|dtype|placement), fingerprints involved, example files}`. ## Intermediate Result (done when) - The number of distinct schemas per measurement type is known and documented. - `inconsistencies.csv` complete — this is the work queue for Task 07.