Independent analysis · Unofficial

Open data

Inspect, reuse, and challenge the crosswalk.

The interface and downloads are generated from the same 21 source records, separately stored analytical records, and selective public-evidence collection. A separate context-watchlist contract carries non-evidentiary research leads. Normalized relationship tables and all public downloads are derived during the same deterministic build.

Downloads

Following the record without polling it

changes.xml is an Atom 1.0 feed of dated, record-level events: a review sweep recorded, an evidence record added or re-reviewed, a cited artifact retrieved again, a context-watchlist item re-reviewed or narrowed, a calculated planning date reached, and a planned review date that this build found had passed. Each directive has its own filtered feed at /directives/<id>/changes.xml, so a reader following one directive is not sent everything.

There is nothing to sign up for and nothing that identifies you: the feed is a static file served from this origin, like every other file on this page. The same entries are also published as changes.json, which carries the layer, the record id, and the path each entry resolves to.

An entry records what this project did, never what a named body did. Every entry carries an observedBy field: data means the entry’s date is one the committed data holds, so rebuilding the site does not move it; build means the date is this build’s own observation of an absence, which is how a lapsed review date is recorded, because the lapse is the missing record and a missing record carries no date of its own.

Loading these files without reading this page

datapackage.json is a Frictionless Data Package describing every file above: a Table Schema per CSV giving each column its name, type and whether it is ever empty, the separator a multi-valued cell uses, the license split, and the signed source’s retrieval date and SHA-256. It is generated at build from the same values the CSVs are written from and compared byte for byte against the committed copy, so a column that changes shape changes its schema in the same commit. Tools such as frictionless and pandas can read it directly.

dcat.jsonld is the same dataset as a DCAT-AP record for catalog harvesters. Both files date the data by its review dates, never by the moment of the build; the commit a build came from is published separately at /version.json.

The data card states the classification, provenance, update cadence, license split and known limitations of the dataset as a whole.

Selected JSON fields

The JSON export uses nested camelCase fields. The CSV export uses flattened snake_case columns and prefixes analytical columns with analysis_. The downloadable JSON Schema is the exhaustive contract for the JSON dataset. Evidence is a separate top-level collection so a public artifact never silently changes the signed source or analytical record.

The context watchlist is published under its own versioned JSON and schema. It is joined to directive pages through editorial relevance IDs, but it is not embedded in the directive/evidence contract and never contributes an evidence count.

The normalized relationship CSVs flatten explicit source-role assignments and recorded cross-reference edges already present in that JSON contract. They are not replacements for the complete JSON: dependency statements without a related directive remain in the JSON and interface. In the analytical table,record_directive_id identifies the record carrying the statement; it does not assert workflow direction, sequence, ownership, or implementation status.

Product and data-contract versions are tracked independently. Release 0.3 added this interface and normalized CSVs without changing the canonical JSON shape. Data-contract version 0.3.0 adds the evidence layer's review commitment: a next review date, a committed list of public sources with last-checked dates, and a sweep log inside evidenceScope. The separate watchlist contract begins at version 0.1.0.

FieldMeaning
idStable analytical identifier; not an official identifier
labelSigned section or subsection label
locatorSigned section and source PDF page
excerptShort independently reviewed transcription
leadOrgIdsOrganizations explicitly directed as leads
collaboratorOrgIdsOrganizations explicitly named as collaborators
mentionedOrgIdsOther bodies or role groups explicitly named in the directive
timingSource phrase, transparent calculation, and what it applies to
analysisSeparately stored summary, themes, outputs, dependencies, and questions
evidenceScopeSelective-coverage statement for the reviewed public-artifact layer
evidenceDated public artifacts with provenance, directive links, locators, review dates, and limitations
directiveLinksExplicit artifact-to-directive relationships with excerpts and page locators
watchlist.scopeSelective-context scope for the separate, non-evidentiary research watchlist
watchlist.itemsOfficial context sources and publication checkpoints with editorial relevance links and evidence-boundary notes
watchlist.nextReviewOnPlanned date for checking whether a more informative or qualifying public artifact has appeared
dataReviewedThroughLatest manual review date across the exported directive and evidence records
lastReviewedOnDate a source or evidence record was last manually checked

Reuse and corrections

Original structured analysis and documentation are available under CC BY 4.0. Code is licensed under the Apache License 2.0. Government source material remains subject to its own terms and is not relicensed here.

Corrections should identify the directive, evidence, or watchlist ID; public source; exact locator or boundary statement; and proposed replacement. Source, evidence, watchlist, and analytical changes are reviewed as separate concepts.

Suggest a source-backed correction