← Systems
System 002Public research prototypeCL-0.1

CivicLens.

A source-grounded civic intelligence instrument: it turns a public-meeting record into inspectable decisions, commitments, deadlines, geographic context, and resident next steps.

01 · Abstract

A civic record you can interrogate, claim by claim.

CivicLens is a research instrument for public-meeting records. It takes a single meeting and produces a structured set of claims — decisions, commitments, proposals, deadlines — each tied to the moment in the record where it originates, each carrying its own confidence, uncertainty, and challenge history.

The design commitment is that nothing appears in the resident-facing brief unless a reader can trace it back. Where the record is ambiguous, the instrument is expected to say so rather than resolve the ambiguity on the reader's behalf.

Research question. Can a bounded multi-agent instrument convert a public-meeting record into decisions, commitments, deadlines, and geographic context that a non-expert resident can verify at the source — without inventing certainty the record does not contain?

02 · Chronology

How the instrument arrived at CL-0.1.

V1
Signal
The record exists; the comprehension does not.

The idea surfaced while I was working through Spark Signal Radar. Municipalities already publish an enormous amount: agendas, minutes, recordings, ordinance packets. The bottleneck is not publication — it is that a resident cannot cheaply tell what was actually decided, who committed to what, by when, and whether it touches their block.

V2
Problem framing
A discussion is not a decision.

The first honest constraint was taxonomic, not technical. Most summarization treats a meeting as one undifferentiated blob of text. I needed the instrument to separate a discussion from a decision, a decision from a commitment, a commitment from a proposal, and a proposal from a deadline — and to refuse to upgrade one into another when the record does not support it.

V3
Claim taxonomy
Every extracted statement carries its own evidence.

I moved from summary output to a claim record: timestamp, speaker or body, action, affected area, procedural state, confidence, uncertainty, official source pointer, challenge note, and resident disposition. If a field cannot be grounded in the record, it is marked unresolved rather than filled in.

V4
Agent protocol
Seven bounded roles instead of one general assistant.

A single model asked to do everything blurs extraction, inference, and advice. I split the work into seven narrow roles — Record Clerk, Decision Extractor, Geographic Grounder, Impact Analyst, Process Sentinel, Civic Challenger, Brief Synthesizer — so that each contribution is attributable and separately criticizable.

V5
Geographic grounding
Where a decision lands is part of what it means.

Verified claims are connected to neighborhoods and named locations so a resident can read the record spatially. The design rule is that grounding never detaches a claim from its source moment: the map is an index into the transcript, not a replacement for it.

V6
CL-0.1 public prototype
An inspectable instrument, released as a synthetic demonstration.

CL-0.1 ships playback simulation, visible agent activity, mapped outcomes, a claim inspector, full trace, human disposition controls, and JSON export. The meeting, transcript, map, people, and deadlines it contains are synthetic. It is a research instrument, not a civic service.

03 · Protocol

Architecture: record in, traceable claims out.

The protocol is deliberately linear and inspectable. Each stage adds one kind of information and leaves the previous stage's output intact, so a reader can open any claim and walk backwards to the utterance that produced it.

FIG.001CivicLens claim protocol
Record
Meeting transcript + agenda
Segment
Utterances, timestamps, speakers
Extract
Typed candidate claims
Ground & challenge
Geography, impact, objections
Brief
Human disposition + export
Invariant carried through every stage
source pointer · confidence · uncertainty · challenge note · disposition

Nothing in the final brief is allowed to exist without that invariant. A claim that loses its pointer is treated as a defect, not as a stylistic simplification.

04 · Agent roles

Seven bounded roles, each separately criticizable.

Responsibilities are bounded on purpose. When one general assistant performs extraction, inference, and recommendation at once, a reader cannot tell which part failed. Narrow roles make failure attributable.

01Record Clerk

Segments the record into utterances with timestamps, speakers, and procedural markers.

Boundary — Never interprets meaning; only establishes what was said and when.

02Decision Extractor

Proposes candidate decisions, commitments, proposals, and deadlines with a record type.

Boundary — May not assign geography, impact, or advice.

03Geographic Grounder

Links a verified claim to named locations and neighborhoods present in the record.

Boundary — Abstains when the record does not name a place; never infers a resident's address.

04Impact Analyst

Describes who or what a claim plausibly touches, stated as an interpretation.

Boundary — Labeled as inference and never promoted to the status of an extracted fact.

05Process Sentinel

Tracks procedural state — motion, second, vote, tabled, continued, referred.

Boundary — Does not judge whether procedure was correct or lawful.

06Civic Challenger

Files challenge notes against weak, ambiguous, or over-stated claims.

Boundary — Can downgrade or flag a claim; cannot silently delete one.

07Brief Synthesizer

Assembles surviving claims into a resident-readable brief with source pointers.

Boundary — May only use claims that carry a source pointer and a disposition.

05 · Data model

The claim record.

Every field below is either grounded in the record or explicitly marked unresolved. There is no default value that quietly implies certainty.

FIG.002Claim taxonomy
Field
Definition
timestamp
Position in the record where the claim originates.
speaker / body
Named individual or governing body, as recorded.
action
The verb of the record: adopt, approve, table, direct, defer, allocate.
affected area
Neighborhood or named location, when the record supplies one.
procedural state
Motion, second, vote, tabled, continued, referred, no action.
confidence
Extraction confidence band, shown rather than hidden.
uncertainty
What specifically is unresolved about the claim.
official source pointer
The exact record location a reader can go verify.
challenge note
Any objection filed by the Civic Challenger.
resident disposition
Human judgment: accept, question, dispute, follow.
06 · Interface

Walkthrough of CL-0.1.

The public prototype opens on a synthetic municipal meeting. Playback advances the record while agent activity appears alongside it, so the reader watches claims being proposed, grounded, and challenged rather than receiving a finished summary.

Playback simulation

A synthetic meeting advances through its record; agent activity is timed to it.

Agent activity panel

Shows which role contributed what, in order, including abstentions.

Mapped outcomes

Verified claims plot against neighborhoods present in the synthetic record.

Claim inspector

Opens a single claim with all taxonomy fields and its source pointer.

Full trace

Walks a claim backwards through every role that touched it.

Human disposition

A reader marks accept, question, dispute, or follow — recorded with the claim.

JSON export

Exports the claim set with dispositions for external inspection.

Upload control

A local playback and interface demonstration only; it does not replace the bundled record.

07 · Evaluation

Planned protocol — no results are claimed yet.

Everything in this section is a planned measurement design. CL-0.1 has produced no empirical results, no accuracy figures, and no user study findings. Nothing below should be read as an outcome.

FIG.003Proposed measures (planned)
Decision precision / recall
Do extracted decisions match a human-coded reference set of the synthetic record?
Record-type accuracy
How often is a discussion mislabeled as a decision, or a proposal as a commitment?
Timestamp coverage
Share of claims carrying a resolvable pointer back into the record.
Geographic accuracy
Correctness of location grounding, including correct abstention.
Deadline accuracy
Correctness of extracted dates and the procedural status attached to them.
Unsupported-claim rate
Share of surfaced statements with no defensible source pointer.
Appropriate abstention
How often the system declines when the record genuinely does not say.
Resident comprehension
Can a non-expert reader correctly restate what was decided?
Time to action
How long it takes a reader to locate a next step and its source.

Planned ablations

Remove the Civic Challenger

Expected effect: higher unsupported-claim rate and fewer downgrades.

Remove geographic grounding

Expected effect: lower comprehension and longer time to action.

Remove the trace view

Expected effect: reduced verification behavior, higher misplaced trust.

Collapse seven roles into one

Expected effect: blurred attribution, more record-type confusion.

Remove abstention

Expected effect: fewer unresolved fields, more fabricated confidence.

08 · Governance

Boundaries of this release.

Scope disclosure · CL-0.1
  • The CL-0.1 meeting, transcript, map, people, and deadlines are synthetic.
  • It does not analyze live video.
  • It does not provide official guidance.
  • It does not automate civic participation.
  • Upload selection is a local playback and interface demonstration and does not replace the bundled record.
  • It does not infer identity and does not guarantee deadlines.
  • Human review and official records retain authority.

I am also explicit about what has not been established: there are no measured accuracy results, no pilot partners, no production integrations, and no user population. The instrument exists to make a design argument inspectable, and to be criticized on that basis.

09 · Roadmap

Next experiments.

  1. 01Build a human-coded reference set over the synthetic record so decision precision and recall become measurable at all.
  2. 02Run the record-type confusion study: how often does a discussion get promoted to a decision under each configuration?
  3. 03Test abstention explicitly by seeding the record with statements that genuinely lack a place, a date, or an actor.
  4. 04Run a small comprehension protocol with non-expert readers, measuring restatement accuracy and time to locate a source.
  5. 05Execute the four ablations against the same reference set before making any claim about the value of bounded roles.
  6. 06Only after the above: evaluate whether a real, published municipal record can be handled without weakening the source-pointer invariant.
10 · Public artifacts

Everything published alongside System 002.

Authorship

Fatima Aguilar — Decision Systems Lab. CivicLens CL-0.1, 2026. Written as a working research notebook; revised as the instrument changes.

← All systems