compare_versions
Compare the text of a CFR section at two different dates.
Useful for understanding what changed in a regulatory amendment. Returns
'changes' (each paragraph that was added, removed or changed, with its
before and after text; also heading, table and pending-amendment-link
changes), 'identical' when nothing differs, and the parsed text at both
dates side by side. When both texts together are too long to send, the
full texts are left out (texts_omitted) and 'changes' is kept.
changes_only=True leaves the full texts out every time: the short answer
to "what changed".
Dates must be in YYYY-MM-DD format. Historical snapshot availability
varies by title and section, including some dates before 2017. Use
get_version_history to discover dates. Both dates must not exceed the
title's up_to_date_as_of value.
This tool always returns the section-level XML parsed -- pass a small
section_id like '15.305', not a whole part. Whole-part comparisons can
exceed 100 KB per side.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"section_id": "<section_id>",
"date_before": "<date_before>",
"date_after": "<date_after>"
},
"name": "compare_versions"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | No | ||
| date_after | Yes | ||
| section_id | Yes | ||
| date_before | Yes | ||
| changes_only | No | ||
| title_number | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||