Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/DEVELOPERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ The SDK is kept in sync with the Tango API and its own shape schemas via conform

### The contract

- **Source:** Generated by the [tango](https://github.com/makegov/tango) repo's `scripts/filter_shape_conformance.py` from the API runtime (FilterSets, ordering fields, shape specs). Since `schema_version: 2` it carries per-filter type metadata (`filter_params_detail`: value type, choices, filter class).
- **Source:** Generated by the [tango](https://github.com/makegov/tango) repo's `scripts/filter_shape_conformance.py` from the API runtime (FilterSets, ordering fields, shape specs). Since `schema_version: 2` it carries per-filter type metadata (`filter_params_detail`: value type, choices, filter class). The canonical spec — schema, value-type vocabulary, evolution rules, and the consumer pattern this SDK implements — lives in tango's [`contracts/README.md`](https://github.com/makegov/tango/blob/staging/contracts/README.md).
- **Vendored copy:** `contracts/filter_shape_contract.json` pins exactly which API surface this SDK version conforms to. Refresh it with `uv run python scripts/refresh_contract.py` (reads the sibling `../tango` checkout, falling back to the GitHub API via `gh`). CI emits a staleness notice when the vendored copy drifts from tango HEAD.

### Filter conformance
Expand Down
Loading