# Refreshing the coverage page
`index.html` renders `data.json`; `shrink/` holds one `tmic shrink` page (and its findings record) per fleet fixture.
`tools/update.py` rebuilds both from the live MIC fleet:
```sh
git clone https://huggingface.co/spaces/huggingface-mic/mic-coverage && cd mic-coverage
python tools/update.py --tci ../transformers-ci --mic ../transformers-mic \
--python ../transformers-mic/.venv-sweep/bin/python --upload
```
Add `--rerender` after a change to tmic's `shrink_view`, so every page picks it up.
- **Done / Reachable** come from `transformersci.contracts.coverage` (fleet contracts and the transformers-mic shrink sweep).
- **No checkpoint** splits the sweep's "no usable checkpoint" rows using `experiments/results/sweep_sources.json` (`tools/nockpt.py`).
- **Gated** checks the source checkpoint of each Done type, else its top checkpoint (`tools/gated.py`).
- **CI dot and shrink-page CI line:** one request to the dashboard's `/mic/data` (30 days, `main`) per refresh (`tools/results.py`); viewers never call the dashboard. A fixture with no entry had no failure in the window.
- **Reviewed overrides** (`tools/overrides.json`) set the state and reason of a type the sweep cannot judge, e.g. one whose only checkpoints are untrained test models.
- **MIC (shrink)** renders a page only for fixtures whose pinned revision changed (`tools/shrink.py`). `--python` must
have a transformers that knows every fleet model type.
The rows themselves (model types, downloads, top checkpoint, why not reachable) are kept in `data.json` and updated in place.
After a refresh, also regenerate the dashboard snapshot: `python -m transformersci.contracts.coverage` in transformers-ci.