Manifest
Read this first. It catalogs prepared resources — each entry has a key, file path, and integer version for cache invalidation.
Prepared resources
Fetch the manifest, then load each resource by its path. Key client caches on key + version.
- /data/supported_languages.json —
languages(v2) — UI language codes and labels - /data/exam_editions.json —
exam(v1) — test editions, domains, question paths, pass thresholds - /data/governors.json —
governors(v1) — current U.S. governors (as_ofdate included)
Consumer flow
The app should not hardcode paths or language lists:
- Fetch
/manifest.json - For each needed resource, fetch
resource.path - Invalidate cached copies when
resource.versionchanges
exam_editions.json names question file paths (civics, reading, writing) per edition. Those question files are not yet prepared — they are not listed in the manifest.
Work in progress
Other paths may exist in the repo but are incomplete and not published through the manifest: data/federal.json, data/states.json, data/distractors.json, questions/, i18n/, and related tooling. Do not consume them until they appear in manifest.json.