About this site and its data rules

Who runs this site

This site is run by gnoshcodes LLC. More on Who runs this, Our rules, Corrections and Method.

gnoshcodes LLC is run by Brian Zacharias, who is on the Clarksville City Council (Ward 1). This member's votes are shown by the same rules as every other official's.

Independent, unofficial

Daylight is an independent, unofficial site run by gnoshcodes LLC. It is not affiliated with, endorsed by, or operated by the City of Clarksville, Montgomery County, the Clarksville-Montgomery County School System (CMCSS), or the Clarksville-Montgomery County Regional Planning Commission. The official record held by each body controls.

Who runs it. Daylight is run by gnoshcodes LLC, a small software company. No government body or agency runs, pays for, reviews or approves this site. It uses no government seal, logo or insignia.

Where the records come from. The records shown here are public documents that each body publishes itself. This site collects them, links each fact to its source document, and does not speak for the body that wrote it. The official sites:

If they differ. If this site and the official document differ, the official document is right. Check the source document linked from each page before you rely on anything here.

Corrections. If a fact on this site does not match its source document, how to report a correction.

Not advice. Nothing on this site is legal advice.

What is collected, and from where

The site reads the official minutes of the Montgomery County Commission, as published by the county, for 2020-02-10 to 2026-05-11. Each minutes PDF is downloaded politely (it follows the site's robots rules and waits between requests) and kept unchanged. A computer program reads the text of each PDF. The county's minutes record motions, seconds, roll call votes and attendance. They do not record spoken comments, so none are shown.

Every fact on this site links to the minutes PDF, opened at the page where the fact appears, and shows the date the PDF was fetched: the day in Clarksville (the site's time zone). A date marked (UTC day) is the day in Coordinated Universal Time, for a file whose fetch time is not recorded; it can be one day after the day in Clarksville.

The record

  • 64meetings in the record
  • 354roll calls confirmed
  • 36roll calls shown but not confirmed*
  • 2020-02-10 to 2026-05-11dates covered

1,921 of 2,354 Clarksville City Council roll calls (81.6%) are confirmed against the official minutes; the rest are shown as not confirmed, each with its reason and a link to the source.

354 of 390 Montgomery County Commission roll calls (90.8%) are confirmed against the official minutes; the rest are shown as not confirmed, each with its reason and a link to the source.

Montgomery County Commission: 97 motion attributions are under review. 0 meetings have no attendance shown. See the data rules.

Verified and not confirmed facts

A computer program can misread a page, so each extracted fact is checked automatically before it is shown. For a roll call the checks are: every member present has exactly one recorded vote; the Yes, No and Abstain totals equal the totals the minutes state; the recorded outcome agrees with the votes; and every name matches the roster for that meeting. A roll call that passes every check is confirmed. A roll call that fails any check is still listed, marked with an asterisk (*) and “Not confirmed: this page was hard to read. Read it yourself”, with a link to that page of the minutes, but no vote, outcome or tally the program read from it is shown: each vote and the outcome read “Not confirmed*”, here and in the data files below. Confirmed votes are counted on their own, for example “12 Yes, 3 No confirmed; 2 votes in not confirmed* roll calls, see each page”, and a not confirmed roll call never changes a confirmed total. A vote whose name could not be matched to an official is never placed under anyone: it appears only on the meeting and item pages, as “Name not matched*”, and is counted once, in one sentence that is the same on every official's page. For a motion the checks are that the people named as moving and seconding it match the roster, were present, and are two different people; if any of these fails, the motion is marked “Attribution under review” and no one is named as moving or seconding it, even when its roll call is shown. The minutes' own sentence for a motion, and the names exactly as the program read them, are never shown on these pages or included in the data files below, because the program can misread names in them. Each motion is shown as its kind, such as “Motion to adopt”. A confirmed roll call shows its outcome as Passed, Failed or Other with a tally counted from the votes shown on the page, never the minutes' own outcome sentence. Attendance that fails its checks is not shown. Scanned minutes with no readable text are shown as “Attendance not extracted for this meeting.”

How names are matched

The same four rules apply to every person:

  1. Normalise the name from the minutes: remove a leading title (Commissioner, Comm., Chairman, Chairwoman, Mayor, Mr., Mrs., Ms., Dr.), remove periods and commas, collapse spaces, ignore capitalisation.
  2. Match the result exactly against each official's name and listed variants (below).
  3. Match on surname alone only when exactly one official at that meeting has that surname.
  4. Anything else is unmatched: the name is shown as “Name not matched” and the fact is not confirmed. Names are never matched by closeness of spelling. A variant is added to the table below only by a recorded change.

Name variants merged into each official

OfficialVariants seen in the minutes
Jerry Allbert Jerry Ailbert; Jerry Alibert
Randy Allbert Randy Ailbert; Randy Alibert
Joshua Beal None recorded
LaTonia Brown None recorded
Loretta J. Bryant Loretta Bryant; Loretta I. Bryant
Nathan Burkholder Nathan Buricholder
Brandon Butts Brandon Buffs; Brandon Bulls; Brandon Buns
Carmelle Chandler None recorded
Joe Creek Joe L. Creek
Billy Frye Billy Frye~; Billy Fry~
Ryan Gallant None recorded
John Gannon JoIm Gaimon; JoIm Gannon; John Gaimon; John M. Gaimon; John M. Gannon
David Harper None recorded
Arnold Hodges None recorded
Garland Johnson None recorded
Charles Keene Charles Ke~ne
Jason Knight Jason 0. Knight; Jason D. Knight
Michael Lankford Michael Lanlcford; Micha~lLankford
Rashidah Leverett Rashidah A. Leverett; RashidahLeverett; Rashid~hLeverett
James R. Lewis James Lewis
Jorge Padro None recorded
Lisa Prichard Lisa L. Prichard; Lisa Pifichard; Lisa Prichai~d
Chris Rasnic None recorded
Rickey Ray Ricke~~ Ray
Larry Rocconi None recorded
Clayton Rudder None recorded
David Shelton None recorded
Robert Sigler None recorded
Autumn Simmons Autunm Simmons
Joe Smith None recorded
Tangi Smith Tangi C. Smith; Tãngi Smith
Jeremiah Walker None recorded
Walker Woodruff Walker R. Woodruff; Walker R. Woo~lrnff

Seats, current members and those who served previously

Each seat (District 1 to 21, County Mayor, City Mayor) has a list of holder records. For the commission districts, a holder record gives the first and last meetings whose roll-call tables print that person in that seat, with links to both pages, worded “seen in roll calls”. These are not term dates: a term is shown only when a source prints it, in its own words (“term 2022-2026, as the source prints it”). “Current” means seen in the roll calls of the latest meeting collected (or, for a term from a source, that the source prints no end), and is always shown with that basis. Everyone else with a record served previously. A person with no record yet is listed under “Seat not yet recorded”, and a name on a meeting date that no record covers reads “seat not recorded”: nobody is placed in a seat by guess. The seat shown next to a name on a meeting page is the one that meeting's roll-call table prints, or, between two meetings that print the same seat, that seat.

District lines changed with the county's 2021 redistricting (opens in a new tab). The exact day the new lines took effect is not printed in any source collected, so the site splits votes at the change between two meetings: the last roll call under the old lines and the first under the current lines, both named on each seat page. Votes under the old lines are listed under “Old district lines” and never added to votes under the current lines. The map PDF prints Districts 19 and 20 the other way round; this site uses the numbers printed in the roll-call tables and the county's Elected Officials List (opens in a new tab) (p. 9).

How item types are decided

The same rule for every item. An item has a type when its number starts with one of the prefixes below, or its title, as printed in the minutes, contains one of the words (any capitalisation). An item can have more than one type. An item with none of them is “Other”.

TypeNumber starts withTitle contains
RezoningCZ-, CZO-rezone, rezoning, zoning
Budget and financeNonebudget, appropriat
ResolutionRESOLUTION resolution
OrdinanceORDINANCE ordinance
AppointmentNoneappoint, nominat

How motion kinds are decided

The same rule for every motion. The kind shown (for example “Motion to adopt”) is decided by the team, not printed in the minutes: the motion's text is searched for the phrases below, in this order, and the first match gives the kind (any capitalisation; “...” stands for any words in between). A motion with none of them is “Motion”. Only the kind is shown, never the minutes' sentence.

KindText contains
Motion to amendmotion to amend; to amend; amendment
Motion to defermotion to defer; to defer
Motion to tablemotion to table; to table
Motion to postponemotion to postpone; to postpone
Motion to approvemotion to approve; to approve
Motion to adoptmotion to adopt; foregoing ... was adopted
Motion to suspend the rulesrules were suspended; suspend the rules

How “Vote on” is decided

The same rule for every roll call. The “Vote on” label (for example “Amendment”) is decided by the team, not printed as a label in the minutes. It comes from the sentence the minutes print just before the roll call, the one that says what was adopted or failed by the roll call vote that follows. That whole sentence must take one of the forms below, checked in this order, and the first match gives the label (any capitalisation; words in [brackets] may be missing; “th~” is read as “the”; a colon and stray marks at the end are ignored). Before it there may be one other word (a name) or earlier text that ends in punctuation. A sentence that takes none of these forms gets no label, and a roll call that is not confirmed never gets one. Only the label is shown, never the minutes' sentence.

Vote onThe sentence reads
Resolution, as amended[the] foregoing resolution[,] as amended[,] [was or were] adopted, approved or failed [and approved] by the following roll call vote
Resolution, as amended[the] foregoing resolution [was or were] adopted, approved or failed [and approved], as amended, by the following roll call vote
Resolution, as amended[the] foregoing amended resolution [was or were] adopted, approved or failed [and approved] by the following roll call vote
Zoning resolution[the] foregoing zoning resolution [was or were] adopted, approved or failed [and approved] by the following roll call vote
Resolution[the] foregoing resolution [was or were] adopted, approved or failed [and approved] by the following roll call vote
Amendment[the] foregoing amendment [was or were] adopted, approved or failed [and approved] by the following roll call vote
Amendment[the] amendment [was or were] adopted, approved or failed [and approved] by the following roll call vote
Motion to defer[the] foregoing motion to defer [was or were] adopted, approved or failed [and approved] by the following roll call vote
Motion to defer[the] motion to defer [was or were] adopted, approved or failed [and approved] by the following roll call vote
Motion to table[the] [foregoing] motion to table [was or were] adopted, approved or failed [and approved] by the following roll call vote
Motion to reconsider[the] motion to reconsider [was or were] adopted, approved or failed [and approved] by the following roll call vote
Motion[the] [foregoing] motion [was or were] adopted, approved or failed [and approved] by the following roll call vote
Consent agenda[the] foregoing consent agenda items [was or were] adopted, approved or failed [and approved] by the following roll call vote

Neutrality rules

  1. Every official is shown with the same layout, the same fields and the same order. People are listed alphabetically by surname, except current members, who are listed by seat number. Nothing is ever ordered by a count.
  2. Only facts are shown. Attendance is Present or Absent as the minutes record it. A vote is Yes, No or Abstain, or Other, with the minutes' wording only when it is one of Recused, Absent, Not voting or Present. Nothing is turned into a judgment.
  3. Counts appear only as plain totals, with the number of meetings they come from and the date range stated, worded the same way for everyone. Nothing is sorted by a count or highlighted for one.
  4. Every fact shows a link to its source document and page, and the date it was fetched.
  5. Every fact has a way to report a mistake (see below).
  6. There are no advertisements, campaign links, outside scripts, outside fonts or visitor tracking. The site's own small scripts make no network requests, except one: when you look up an address in the box on the home page, the address you type is sent to the U.S. Census Bureau's geocoder, and its answer is loaded from there.

Report an error

Every fact has a Report an error link. It opens a short page that says what to include: the page address, the fact id shown on the row, and the source document and page that shows the right value.

A vote's fact id is the roll call id, a slash, and the official's id. An attendance fact id is the meeting id, /att/, and the official's id. A Moved or Seconded fact id is the motion id, a slash, and moved or seconded.

How corrections work

Each report is checked against the source document it names. The site then shows what the source document says, with a link to it; a value is never changed without a source. The same rule applies to every official and every record, whoever sends the report. When a fix is made, the change is recorded on the Changes page.

Open data

All shown facts, with their sources, are available as files so this site is not the only copy. The files carry the same facts as the pages: official ids and names, each motion's kind, whether each roll call and vote is confirmed, and links to the source pages, but not the program's raw reading of names, vote wording or motion sentences.