Fire came up at 176 of 323 Lamorinda meetings, on any item. Public commenters raised it at least 134 times, 81 of them on housing items.
We went through 323 council, commission and school-board meetings on video: 261 in full and 62 older school-board meetings in pieces. Fire had agenda time of its own at 27, all of them council meetings. Counting every stretch of fire-item time, even a few minutes, at 34 meetings, fire got 13.6 of 579 hours; housing items got 87.5. Fire came up inside housing-element and rezoning items at 25 meetings, and inside housing-project items at 23. At the Moraga Town Council's hearing on the 1600 School Street appeal, 30 of the 38 public commenters raised fire; the meeting ran 5 h 25 min, the longest we have. Public commenters are counted meeting by meeting.
Moraga Town Council, January 15, 2025: the 1600 School Street appeal opens with the fire and police chiefs on evacuationOpen the meeting at 7:08
What we found
1Fire, body by body
Fire came up at 117 of 131 council meetings, and at 8 of 96 school-board meetings.
The planning commissions sit between, at 37 of 66. Only the councils gave fire agenda time of its own: Lafayette at 11 meetings, Orinda at nine, Moraga at seven. Orinda's count leaves out one meeting whose transcript came out in Spanish. Many school-board meetings survive only in pieces, so theirs is a floor.
Orinda City Council40 of 44 · meetings where fire came up · 90% range
Lafayette City Council45 of 50 · meetings where fire came up · 90% range
Moraga Town Council32 of 37 · meetings where fire came up · 90% range
Moraga Planning Commission12 of 17 · meetings where fire came up · 90% range
Lafayette Planning Commission14 of 25 · meetings where fire came up · 90% range
Orinda Planning Commission11 of 24 · meetings where fire came up · 90% range
Moraga School District Board4 of 29 · meetings where fire came up · 90% range
Orinda Union School District Board2 of 18 · meetings where fire came up · 90% range
Lafayette School District Board1 of 19 · meetings where fire came up · 90% range
Acalanes Union High School District Board1 of 30 · meetings where fire came up · 90% range
Orinda City Council, October 6, 2026: the county presents the community warning systemOpen the meeting at 18:11
Council meetings: Lafayette 50, Orinda 44 (one held: Spanish transcript), Moraga 37. 62 school-board meetings from Nov 2024 to Mar 2026 survive only as segments; fire can be missed there.
In Moraga, 47 public commenters spoke against housing projects and five spoke for. In Lafayette, 31 spoke for and 20 against, and 22 of the 31 spoke for the affordable housing planned at 949 Moraga Road.
Thirty-four of Moraga's 47 against came on one night, the 1600 School Street appeal: 34 against, two for. The 949 Moraga Road site, where Sunflower Hill plans affordable housing, drew 22 for and three against over five hearings. At Lafayette's other housing-project hearings it was 17 against, nine for. Orinda: 11 against, 12 for. This counts who came to speak, not what a town thinks.
Lafayette 20 against · 31 for · 20 no clear side (71 spoke, 16 hearings)
Moraga 47 against · 5 for · 5 no clear side (57 spoke, 5 hearings)
Orinda 11 against · 12 for · 7 no clear side (30 spoke, 5 hearings)
131030100+Even splitCrowded, more againstCrowded, more forFew commenters, more forPublic commenters who spoke ↑↑ Public commentersMoraga, Jan 2025 · 34–2Orinda, Nov 2025 · 3–10Lafayette, Mar 2025 · 4–4Lafayette, Apr 2026 · 0–8Lafayette, Feb 2025 · 0–5
← More againstMore for →
more against even more for · also came up at 14 more hearings where fewer than 3 public commenters took a side
Each dot is one hearing where 3 or more public commenters took a side. Across = share of those who took a side who were for the item; up = how many public commenters spoke on it (log scale). 158 public commenters at 26 hearings, 2025-01-15 to 2026-09-29: 78 against, 48 for, 32 no clear side. A side counts only when two AI readers (Claude Sonnet and Gemini) agree after reading the commenter's whole turn and the item's opening; an independent Claude Opus read agreed on 122 of 126 checked (lower bound 0.93, bar .90). Each hearing's speaker count and issue were confirmed by a separate Opus read. Staff, applicants and officials are not counted. This shows who spoke, not what the town thinks.
Lafayette's joint Planning and Design Review commissions: staff present the 48-unit affordable housing project at 949 Moraga RoadOpen the video at 6:42
'For' means the commenter wanted the project to go ahead; for an appeal, the project is the proposal. Specific housing and mixed-use projects only; housing-element and rezoning hearings are in the next finding. Orinda's for/against is 11 to 12: a near tie, so it is written as raw counts and never as a lean.
Orinda spent 18.6% of its meeting time on the housing element and rezoning. Moraga and Lafayette each spent under 11%.
Moraga spent 10.9% and Lafayette 10.5%. In Orinda that is 22.3 hours across 25 meetings, more than Lafayette's 16.3 hours, though Lafayette has 156 hours of meetings on video and Orinda 120. Orinda's planning commission spent 37% of its time there. Its rezoning hearing on August 12, 2025 drew 19 public commenters, 12 against and three for. Twelve raised fire. Downtown plans, on items of their own, took 2.6 hours in Orinda. Time we could not place stays in every total, so all these shares are floors.
Orinda18.6% · 22.3 h · a floor
Moraga10.9% · 11.4 h · a floor
Lafayette10.5% · 16.3 h · a floor
Orinda Planning Commission, August 12, 2025: staff present the housing element rezoningsOpen the meeting at 9:38
A town's share covers all its bodies (council, commissions), unknown time included, so shares are floors. Downtown-plan debate in Orinda often sits inside rezoning items; we don't split it out.
Lafayette's council heard 348 public commenters in 50 meetings. The four school boards together heard 38 in their 34 full meetings.
Moraga's council heard 196 in 37 meetings, Orinda's 193 in 44. Moraga's school board heard two in nine. Older school-board meetings held only in pieces (62) are not counted. Across all 261 full meetings of every body, there were 990 public commenters. We count meeting by meeting, so someone who spoke at three meetings counts three times.
Lafayette City Council7.0 · public commenters per meeting · 348 in 50 meetings
Moraga Town Council5.3 · public commenters per meeting · 196 in 37 meetings
Orinda City Council4.4 · public commenters per meeting · 193 in 44 meetings
Lafayette Planning Commission2.8 · public commenters per meeting · 70 in 25 meetings
Moraga Planning Commission2.4 · public commenters per meeting · 41 in 17 meetings
Orinda Planning Commission2.3 · public commenters per meeting · 55 in 24 meetings
Acalanes Union High School District Board1.7 · public commenters per meeting · 19 in 11 meetings
Lafayette School District Board1.6 · public commenters per meeting · 11 in 7 meetings
Orinda Union School District Board0.9 · public commenters per meeting · 6 in 7 meetings
Moraga School District Board0.2 · public commenters per meeting · 2 in 9 meetings
Older school-board meetings held only in pieces (62) are not counted. Counted, never named or quoted.
The two biggest nights for public comment: Lafayette's council on October 27, 2025, with 45 public commenters, and Moraga's council on January 15, 2025, with 38. Both meetings ran past four hours.
At Lafayette, 43 of the 45 spoke on Buckeye Fields, where the council took up a reconsideration of the parks commission's decision on the grass infield; the meeting ran 4 h 12 min. At Moraga, all 38 spoke on the appeal of a 66-unit apartment building at 1600, 1640, and 1660 School Street; the meeting ran 5 h 25 min, the longest we have. No other meeting drew more than 24.
45 public commenters · Lafayette City Council, Oct 27, 2025
38 public commenters · Moraga Town Council, Jan 15, 2025
43public commentersLafayette City Council, Oct 27, 2025Parks, recreation, trails and open space · Parks, recreation, trails and open space itemSides: — sides on this issue did not pass the checkThe meeting
38public commentersMoraga Town Council, Jan 15, 2025Specific housing and mixed-use projects · Appeal of 1600 School Street 66-unit housing project approval34 against · 2 for · 2 no clear side
19public commentersOrinda Planning Commission, Aug 12, 2025Housing element, rezoning and state housing laws · Housing element rezonings and objective design standards: staff presentation12 against · 3 for · 4 no clear side
17public commentersMoraga Town Council, Jun 10, 2026Parks, recreation, trails and open space · Parks and Recreation Master Plan, Rancho Laguna Park workshop and scheduleSides: — sides on this issue did not pass the check
13public commentersOrinda City Council, Nov 18, 2025Specific housing and mixed-use projects · public hearing on multifamily housing revenue bonds for Orinda Senior Housing Foundation3 against · 10 for
12public commentersLafayette Planning Commission, Mar 17, 2025Specific housing and mixed-use projects · TR 9707 Oak Hill Place subdivision and density bonus project4 against · 4 for · 4 no clear side
Lafayette City Council, October 27, 2025: the staff report opens the Buckeye Fields itemOpen the meeting at 2:09:02
Sides at Buckeye Fields are held: parks sides missed the bar. Counts per meeting come from the public-speaker census (50/50); counts per item from the hearing census (second Opus read 153/159).
Lafayette's council ran past four hours in session eight times. Orinda's never did, in 45 timed meetings.
Moraga's did twice in 37. Lafayette's count is of 48 of its 50 meetings: one video may be cut short and one runs under 10 minutes. Lengths measure time in session, leaving out breaks of 10 minutes or more. Past three hours the gap narrows: 18 of 48 meetings in Lafayette, 14 of 45 in Orinda and seven of 37 in Moraga. The typical council meeting runs 2 h 11 min in Moraga, 2 h 19 min in Lafayette and 2 h 27 min in Orinda, too close to rank.
Moraga, Jan 15, 2025Lafayette, Sep 22, 20254 hours
20252026
The longest meeting we have: Moraga Town Council, January 15, 2025, 5 h 25 minOpen the meeting
Time in session: first word to last, leaving out silences of 10 minutes or more. Typical lengths: the 90% ranges of the differences between medians all cross zero (Lafayette-Orinda -51 to +43 min, Lafayette-Moraga -30 to +50, Orinda-Moraga -29 to +60). Do not rank them. Lengths count each body's own videos only (factcheck.py splits out any cross-filed video; none since main 6d27fbd).
On video, Lafayette's school board spent 25% of its time on budgets and cuts. Moraga's spent 22% on buildings.
Of 47.3 hours of Lafayette board meetings on video, 11.8 went to budgets, deficits and cuts; on those items, at least 23% of its members' remarks raised a concern. Of Moraga's 65.7 hours, 14.7 went to school facilities and construction. Orinda Union's board gave 15% of its time on video to facilities; Acalanes's, 11% to budgets. We don't report time on curriculum and student programs: that figure didn't pass our accuracy check.
School-board hours include older meetings held only as segments; shares are of the time on video. Tone is board level only and never compared across boards or with councils. Curriculum and programs, enrollment and teacher pay are held (time checks 42/45, 16/16 with too few checks, 30/32).
On Moraga's planning commission, at least one member was absent at 12 of 15 recorded roll calls. On Orinda's, at 15 of 24.
Across those two commissions, 50 of 243 seats at roll call were marked absent. At the three councils it was 28 of 549, and at Lafayette's planning commission four of 119. Every absence was checked against a separate read of the whole meeting. Seats with no clear answer at roll call are left out.
Moraga Planning Commission21 of 88 · seats empty at roll call · 90% range
Orinda Planning Commission26 of 148 · seats empty at roll call · 90% range
Orinda City Council12 of 184 · seats empty at roll call · 90% range
Lafayette City Council9 of 197 · seats empty at roll call · 90% range
Lafayette Planning Commission4 of 101 · seats empty at roll call · 90% range
Moraga Town Council4 of 133 · seats empty at roll call · 90% range
Body level only on the hub. Absences fall across many members: on Moraga's planning commission, 24 absences across 10 members, none more than a third of them. 'Unclear' and 'not recorded' statuses are left out; silence at roll call is never counted as absence.