Issue lifecycle timeline
issue_timelineHow a local issue developed over time — a zoning change, a housing or density fight, a tax or fee, a road, park, or police matter. Returns the chronological lifecycle of the issue across meetings (raised → discussed → voted), oldest first, each entry linking to the meeting.
WHEN: 'How has the short-term-rental issue progressed?', 'When was X first discussed and what happened since?'. WHEN NOT: For what a specific person said, use search_by_official; for how they voted, use track_position. For a one-off keyword search, use search_meetings.
Pass city whenever you pass q. The same phrase names a different fight in every city, and without a city the match is ambiguous — you will get issue: null plus a candidates list to choose from rather than a confident answer about the wrong city. Check candidates even on a resolved issue: 'short-term rentals' matches both a citywide ordinance and one subdivision's area-plan amendment.
EXAMPLES: { "q": "short-term rentals", "city": "lehi-ut" } — ALWAYS pass city with q { "issue_id": "" }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Resolve the issue by a title/slug substring when you don't have the id (e.g. 'short-term rentals'). Ignored if issue_id is set. | |
| city | No | City slug to scope resolution (e.g. 'lehi-ut'). Required with q when you have access to more than one city. | |
| limit | No | Max timeline entries. Default 100. | |
| issue_id | No | UUID of the issue. Preferred when known. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issue | Yes | The resolved issue. Null when nothing matched, OR when `q` matched issues in more than one city and no `city` was given — check `candidates` in that case and re-call with a city or an issue_id. | |
| timeline | Yes | Every meeting where the issue was discussed, oldest first. | |
| candidates | Yes | Other issues matching `q`. Populated (with issue null) when the match was ambiguous ACROSS cities — pick one rather than assuming. Also lists same-city alternates alongside a resolved issue, since one phrase often matches both a citywide ordinance and a single development's version of it. |