Brian Keegan is a regular opinion columnist for Boulder Reporting Lab. His “Charting Boulder” column uses public data to make sense of how the city is changing — from housing and politics to income and population — with clear explanations and a focus on equity.
The Boulder Valley Comprehensive Plan is the most important document that most residents have never read. The BVCP is a policy framework that guides land-use decisions, capital investments and service provision across the City of Boulder and unincorporated Boulder County.
In 1977, Boulder adopted a comprehensive plan that told the city what it shall do: where to draw urban boundaries, how to concentrate development, what to protect from encroachment. The language was blunt, the commitments were binding, and the document assumed its job was to constrain government discretion.
The 2026 draft was released by staff in mid-March and marks the eighth major update. It follows over a year of engagement sessions, community assemblies and surveys. The plan has an approval process that winds its way through city and county elected officials and planning committees. The first BVCP was adopted almost 50 years ago in 1977 and has undergone seven major updates approximately every decade, with smaller updates in between.
To explore how the plan has changed over its history, I retrieved the 17 historic versions of the BVCP from the city’s archives and the current draft. I used Datalab.to to convert these complex PDF documents into simpler Markdown text files for natural language processing. You can download these Markdown text files and the code for reproducing the analyses here.
The resulting corpus from the 17 BVCP documents totaled 822,505 words. The figure shows the changing length of the plans, rising from 22,224 words in 1977 to 71,792 words in 2001 before falling to 25,515 in the most recent version. The BVCP is not immune to the patterns of accumulation and erosion commonly found in this genre of administrative documents. But it is worth examining what has been added and lost over the years.
What the documents say is much more interesting than their length. I developed a simple lexicon of words across five topics. For the “Climate & Sustainability” topic, the words included “sustainability”, “climate”, “carbon”, “emissions” and “renewable.”
The figure reveals several substantive shifts in topical coverage: the decline of the “Growth & Development” topic from the most prominent in the 1970s to the least prominent in the most recent version.
Other topics like “Climate & Sustainability” and “Equity & Diversity” were barely present in earlier versions, but the former grew dramatically beginning in 2010, and the latter is especially prominent in the most recent version.
The plan has reoriented around fundamentally different questions: The 1977 plan asked how much Boulder should grow; the 2026 draft asks who Boulder serves and how it adapts, reflecting a shift from a focus on the city’s size to its values and priorities.
Another content dimension to capture in administrative documents is the usage of directive versus permissive verbs. Directive verbs like “shall”, “will” and “must” signal enforceable commitments, while permissive verbs like “should,” “may” and “could” signal aspirational or tentative language. A “shall” can be enforced, while a “should” can be ignored.
The figure below plots the ratio of directive to permissive verbs and reveals a substantial shift in the most recent draft to permissive language. This shift from a regulatory instrument that constrains government discretion to a values framework that guides it may offer legislators, planning board members and planning staff more discretion in making decisions. But it also raises questions about enforceability and accountability when commitments become suggestions.
The plans also vary in how granular their commitments are. Many BVCP versions use numbered policy sections like “1.01” or “2.2” to enumerate specific values, policies or action items. The number of these enumerated sections grew steadily from the early plans through the 2000s, reflecting an impulse to codify increasingly detailed guidance into discrete, citable commitments.
The 2026 draft reverses that trend, with 102 formally enumerated commitments that end in just the third chapter, far fewer than the more than 300 that appeared in the plans of the mid-2000s. A cynic might read too much into the plan’s enumerated commitments ending before chapter 4 on “Future Land Use” or chapter 5, “Implementation.”
Counting keywords has limits: Important words can be missed, and the same word can change meaning over time. A more comprehensive approach uses text embeddings — a technique from the AI models underlying tools like ChatGPT — to convert entire documents into numerical representations that capture meaning rather than just vocabulary. Words that appear in similar contexts, like “housing” and “affordability,” end up close together in this representation, even if they never appear in the same sentence.
I used VoyageAI’s embedding model to represent each BVCP document as a single point in a 1,024-dimensional space, then measured how close or far apart every pair of plans landed. The figure below shows these pairwise similarities as a heatmap: Redder colors mean two plans are more similar in overall meaning, while bluer colors mean they are more different.
Plans tend to resemble their immediate neighbors: Each version builds on the last. But two patterns stand out. First, there is a significant break around 1996, where subsequent plans diverge sharply from the pre-1990 versions. Second, the 2026 draft in the lower-right corner is more semantically distant from the 1977-1990 plans than any previous version has been. Reading across the top row or down the left column captures how far each version has drifted from the original. The 2026 draft is the farthest yet.

Reading the top row across or the left-most column down captures how much subsequent versions of the plan have changed from the first version. The current content of the 2026 draft makes it substantially less similar to the first BVCP than any previous version.
The 1977 plan was fundamentally a growth management instrument concerned with where to draw urban boundaries, how to concentrate development inside city limits, and how to protect open space from encroachment. The 2026 draft reads as a different kind of document: Its dominant concerns are climate resilience, racial equity, housing affordability and community identity.
Only voters can tell us whether the 2026 draft is better or worse than what came before. The 1977 plan’s blunt directives enforced through the Blue Line, open space purchases and service area boundaries shaped Boulder more profoundly than any vocabulary choice. And the new emphasis on equity, resilience and inclusion responds to genuine failures of earlier plans that treated whole communities as afterthoughts to misplaced growth anxieties.
Every shift documented here, from directive to permissive language, from fewer and broader policies to growth management and environmental justice, also introduces discretion outside of the document. As the plan becomes less prescriptive, more of its force depends on how it is interpreted and applied in practice. No plan survives contact with voters.
That kind of discretion becomes most visible after disasters, when plans are forced into real-world decisions. In Los Angeles, for instance, rebuilding after recent wildfires has been shaped by difficult tradeoffs about cost, safety and what should be rebuilt at all.
When this BVCP’s commitments are inevitably tested after a climate disaster, the question will be whether it sets clear, durable, enforceable priorities — or leaves key decisions too open to interpretation.


I found this to be a well done synopsis of the trends and potential follow on effects of the 2026 Boulder Valley Comprehensive Plan. Not a substitute for comprehensive reflection on the current draft by today’s citizenry but very helpful for many of us with less time to devote to public engagement. Thanks Brian.
What a fascinating comprehensive analysis of meaning, themes and direction! It’s also able to be scanned quickly to get the major gist (thanks!). Cynic that I am, one part that leapt out to me was the section on “Modal Verb Ratio.” I perceive the shift towards suggestive language as a type of laziness or unwillingness (or inability) on the part of city council to deeply understand what types of policies or major action items are most important for the next 10 years and how to implement them. This gives staff much more leeway to do what they think is right, in effect making policy themselves since there is little in the way of accountability mechanisms in the current draft.
Who really needs a generic values document from this particular council? What does that accomplish? Guiding values are great but that’s just the beginning. How is that going to help future councils who have to make real decisions?
This city council seems extremely dependent on staff to decide what it really means when drafting important decisions. This may be by necessity since this council doesn’t seem to agree on much of substance that requires clear action, but rather each member has a couple of pet concerns and their own ideas of how they should be implemented.
Thought provoking analysis, Brian, thanks for producing it. Since the early 1980s I’ve worked on comp plans in four western states and in a few Colorado cities. A key question arising often in this work is: does a plan place greater emphasis on the priorities of existing residents or does it aspire more to serve future residents? Comp plans are intended to do both, of course, but it can be a balancing act trending one way or the other over time. Your analysis made me think about how that balance has evolved in the BVCP over the past 50 years. Looking back at the last four plans (and even earlier), the 2021 and 2026 plans appear to me to be weighted more than ever to serving future residents. I wonder if your methodology could shed any light on that?