4. Verification and reproduction

4.1 What is verified

Table

Rows

State

hed_task_to_atlas.tsv

103

Every row checked against the archived Atlas record

atlas_task_to_hed.tsv

857

Every row assigned a match type; every matched row checked

hed_process_to_atlas.tsv

172

Every row checked against the archived concept definition

atlas_concept_to_hed.tsv

918

Every row assigned a match type

Two things in these tables are not hand-checked. The scope_class on an unmatched Atlas task is derived from its name by rule. And the none verdicts on the reverse tables assert only that no counterpart exists in a catalog of 103 tasks and 172 processes, which is the expected answer for most of an 857-entry and 918-concept corpus.

4.2 Reproducing the tables

python src/fetch_cog_data.py        # refresh the API archive in .cog_data/
python src/build_atlas_maps.py      # refresh the mapping tables

The second command is non-destructive. It never overwrites a match type, a mapped id, or a curator note. It refreshes the descriptive columns, re-deriving them from whichever id the curator chose rather than from the automated candidate, and reports entities that have appeared in or disappeared from the Atlas since the last run. Running it twice leaves the tables byte-identical.