Keep the page. Ask only what that text can answer.
Collection stores the fetched page or PDF, then follows linked agendas or reports when the record is a named file, news claim, or dated event. A how-to page stays thin. A closed cell means that text could not support a safe answer. Models still read short passages drawn from the stored body, not the whole corpus at once.
flowchart TD
rec["Incoming page or PDF"] --> keep["Store the fetched text"]
keep --> sig{"What is it?"}
sig -->|How-to, disclosure, Civic Lens list, or foreign| thin["Rules only: signal and identity"]
sig -->|Named file, news, or dated event| live["Follow linked documents if needed"]
live --> cells["Open only cells the stored text can support"]
thin --> tldr
cells --> agents["Specialists fill open cells from selected passages"]
agents --> tldr["Every record still gets a TL;DR"]
tldr --> brief["Tactical brief: features, watch list, named-file cards"]
Five agents. Sixteen questions.
Each agent sees only its cells. The full corpus is never sent in one model call. The public site leads with named files, dates, and news claims, not score tables.
flowchart TD
identityAgent["Identity agent<br/>signal: file, index, how-to, news, or disclosure<br/>identity: named project or address<br/>locality: ward or neighbourhood only if named"]
processAgent["Process agent<br/>clock: future date, past, or missing<br/>stage: request, hearing, agenda, vote, or appeal"]
proposalAgent["Proposal agent<br/>proposal: what is proposed<br/>housing: units or height<br/>services: shops, offices, or a community use<br/>change: what rule or use could change"]
statusAgent["Status agent<br/>participation: public input still ahead<br/>progress: proposed, approved, or built<br/>updates: what changed at the source<br/>source: what this record cannot prove"]
actionAgent["Action agent<br/>audience: who needs this next<br/>action: one next check<br/>gap: what missing fact would change that check"]
identityAgent --> processAgent --> proposalAgent --> statusAgent --> actionAgent
Limits we keep
- An agenda listing is not a vote.
- A Civic Lens index is not the minutes.
- A staff recommendation is not approval.
- City hall is not a project.
- Ayr, Puslinch, and North Dumfries are local county towns. Athens or Harvard is not.