Version History
How this citizens' framework for Victoria's 2026 election has changed through ongoing input, collaboration, competitive-intelligence cycles, and contributions from sitting councillors and declared candidates.
← Back to the frameworkVersioning principles
- Snapshots preserved before substantive change. Each version is duplicated to a dated archive before the live master is edited.
- Dated changelogs appended to the live master, not deleted. The history of why a measure changed lives next to the measure itself.
- All prior versions remain accessible at their snapshot locations. Nothing is lost.
- Major-version bumps (v1 → v2) are reserved for re-numbering and structural changes that would break existing cross-references.
- Sub-version bumps (v1.1 → v1.2 → …) for content additions, sourcing corrections, expansions, and refinements that preserve numbering.
- Anyone can contribute ideas, corrections, or new measures by writing to info@acitythatworks.ca. Every contribution is reviewed; accepted contributions are credited in the changelog.
Current version
The framework is city-wide. Life is local. Thirteen new pages translate the same measures into what they do on one neighbourhood's streets: a page for each of the City's 12 official neighbourhoods, plus Harris Green, which is not a separate neighbourhood — it sits inside Downtown — but is the renter-densest ground in the city, where the housing measures land differently than they do three blocks west. Each page says the same five things: where things stand in 2026, what a normal day looks like in 2030, what the framework does here measure by measure, the first 18 months, and how you measure it.
Zero new measures. Zero new cost. Every commitment on these pages already exists in the Program and is already booked in the Savings & Revenue Analysis. What the pages add is sequencing and siting — where existing measures land first, and why. The framework is past its cost ceiling in the pessimistic case, so neighbourhood specificity had to come from prioritization rather than from spending, and it does.
The home page grid was wrong in two ways, and both are fixed. It grouped eleven neighbourhoods into four cards, listed Rock Bay as a neighbourhood when it is an area inside Burnside, and omitted Jubilee entirely. All 12 are now named individually, each linking to its own page, with Harris Green shown separately and labelled as not official.
Every page names who speaks for the neighbourhood, and it is not this document. The city-wide figures are sourced in the full Program; the neighbourhood-level observations are this framework's own read of public City data, open data and local reporting — not a survey of residents, and not a substitute for one. Each page links its community association and ends with a Straight goods box naming what it cannot promise, who else has to say yes, and what is gated. Corrections are published in the open, the same as every other correction here.
The pages are generated, not hand-written. build/neighbourhoods.md is the master and node build/neighbourhoods.js writes all thirteen pages plus both card grids. Roughly 500 measure references across the set are linked to Every Measure by the build rather than by hand, and a reference to a measure number that does not exist aborts the build instead of shipping a link to nothing.
A defensibility release. Five annex documents join the canonical tree — no measure added, no measure changed, no cost added, and no movement in net headroom or the tax-cap glide path. Every commitment the five contain already exists in the Program and is already booked in the Savings & Revenue Analysis. They assemble those commitments for the reader who tests the framework rather than browses it — the journalist, the opposing campaign, the municipal-finance professional, the practitioner.
What each one settles. Implementation & Governance names one accountable owner per portfolio — including the boards and commissions a mayor does not command, named honestly rather than implied away — a 15-item first-100-days list that stays entirely inside costed lines, and the quarterly reporting package in one place. The Legal Defensibility Annex publishes the constraints first: the Police Act command structure, Adams, Shantz, Stewart and Bamberger with the accessible-shelter test stated as law rather than preference, the 76% shelter-avoidance finding, the post-January 2026 CDSA position, the real bylaw fine ceilings, and the OIPC Richmond order that vindicates the M30 no-City-cameras rule. The Partnership Strategy gives eight partner files the same four rows each — what they control, what the City brings already costed, the ask, and what the City does if the answer is no. 2030, Measured publishes every indicator with a baseline, a source, a direction and a cadence, plus the baseline-locking rule. The Capital Financing Structure restates the capital programme by financing route and now carries the authoritative M45c cost basis: the $40–80M band is an all-in envelope for a 1–2 km corridor, benchmarked against four as-built comparators, with a published scope ledger required before any referendum — or there is no referendum.
They are wired to the measures they defend, not just added to the menu. The Legal Annex is linked from the Safe-pillar measures and from M33b; Capital Financing from M45c; the KPI Library from the 12 Commitments, where the precedence rule is now stated — where a KPI and a Commitment could be read to conflict, the Commitment governs; and Implementation & Governance from The Method. A new build step checks every one of those links: node build/checklinks.js fails if any page cites a measure number that does not exist in measures.js, or links to a file or an anchor that is not there. The annexes cite measures by number in hand-written prose, which is exactly the kind of link that rots silently.
Two master-text syncs are deferred, and named here so they are not lost. The M45c measure text does not yet restate the scope basis the financing annex now carries, and the M33b buffer-zone text still reads against the decriminalization regime that ended January 31, 2026. Both are text syncs rather than policy changes, and both are queued for the next content release rather than quietly performed here.
The 60-second version had grown to three thousand words. It carried roughly sixty-five flagship bullets across five pillars — a second copy of the Program rather than a summary of it. Fifteen flagship measures now stand for the five pillars, three each, every one linked to its own measure in Every Measure, with the host-Nations foundation stated ahead of them rather than as a footnote beneath the pillar cards. Nothing was withdrawn: every bullet removed from the summary is unchanged in the Program, which is where a reader who wants all of them was always going.
Three sections the summary never had. Victoria in 2030 states the destination in prose instead of leaving a reader to infer it from a table of targets. The 12 Commitments are now printed on the summary itself, each with its target beside the baseline it starts from — previously the page described the scorecard and linked away to it, so the one page that gets printed and handed out carried no numbers anyone could check a council against. What Is Actually on Your Ballot names what the October 17 vote elects, the non-binding amalgamation question, the September 11 nomination close, and the four advance-voting days — all four weekdays, which is the access gap Measure 82b closes.
The diagnostic gained the two figures it was missing and lost the ones it could not source. The $11M spent repairing encampment damage (Globe and Mail) now sits beside the $25M homelessness figure, and the closing indictment is stated as five absences that can each be checked — no competitive benchmarking, no published permit times, no zero-based reviews, no quarterly dashboard, no published household bill. It replaces “no AI, no digital twin, no smart infrastructure,” which named tools rather than accountability and was the weakest line on the page.
One phrase in the master is deliberately not reproduced here, under the rule added in v1.9.3: the first city in BC to put your permit answer in writing is a superlative, and a superlative is a measurement that needs a publisher and a year. The summary states the commitment — permit answers in writing, by category, with a published quarterly variance report — and drops the ranking until it carries a source.
The printable PDF was four versions behind, and was still printing a retracted figure. The sheet linked from the summary was v1.9.2. It predated the v1.9.3 correction and went on printing the $750-per-resident policing figure that release struck from every other surface — the same figure the Endorsement Pack carries an explicit do-not-use instruction about. It has been rebuilt at v1.10, with $598 per resident (2023, BC Ministry of Public Safety via CBC News) in its place, the fifteen flagship measures, the twelve commitments, and the $11M encampment-repair figure. The type is larger than the sheet it replaces, because it is read at a door.
The sheet is now generated, not drawn. build/one-page.html is the source and node build/onepage.js renders it; the PDF is a build output and is never edited directly. The build refuses to write a file that runs to two pages, and refuses to write one containing a figure this framework has retracted — the retraction list is in the script, and a number joins it the moment a release strikes it. A one-pager that had quietly become a two-pager, or that still carried a struck statistic, is precisely what went unnoticed for four releases because nothing was checking.
The scorecard is now a table a reader can sort, filter and compare in. Fifteen candidates across fifteen policy areas, sortable on any area or on the overall grade, filterable by name and by office, with any two or more candidates tickable to compare side by side and a single-area focus that pushes the other fourteen back without hiding them. Every cell still opens onto the marks and the sentences behind it. The rows are in the HTML before any script runs, so the table is complete and readable without JavaScript and the controls simply do not appear.
Fifteen marks were excluded in the 1 August re-verification, and the correction ran upward. Each rested on a characterisation rather than on a citable sentence: pro-reconciliation (Caradonna, Dell, Thompson, Kim, Loughton), pro-transit / pro-bike (Caradonna, Dell), province-blaming present in framing (Dell, Thompson, Loughton), climate leadership stated (Caradonna, Dell, Kim), pro-heritage tone (Gardiner), and unnamed pro-enforcement votes (Gardiner). Every one was worth +0.5, below almost every mean, so the defect had been quietly suppressing sitting councillors’ grades. Caradonna moved C+ → B− and Dell C → C+. Three marks were regraded upward on the same test: the CSWB adoption vote carried Commits at M26 and M27 but Agrees at M11 for the same councillors on the same act, and is now Commits at all three. Each excluded mark returns the moment a vote or a quotation is attached to it.
Opposed moved from −2.0 to −1.0. At −2.0 a single contrary vote sat 2.5 points below the nearest positive mark, which on a ten-topic column is a quarter point of mean — a full grade band decided by one vote. All four weightings were costed on the real data before one was chosen; keeping every vote counted and negative, without letting one of them decide a grade, is what −1.0 buys. Kim moved C → C+ and Gardiner C− → C. The conflict of interest is published beside the change: two of the five candidates holding an Opposed mark are incumbents this framework’s author works with, and softening the penalty helps them. None of the four coordinated independents the author supports holds an Opposed mark anywhere, the change is worth nothing to them, and the top five positions are identical under both weightings.
No letter is printed below three scored topics any more, in the area grid and the pillar table alike — the cell reports the marks it holds and their mean in a dashed box instead. That replaces the narrower rule v3.0 used, which withheld a letter only where a thin column contained an Opposed; the underlying asymmetry is now fixed at source, and the floor is applied evenly. Six of the fifteen areas can never reach that floor and are named as such. Alto’s eight 📋 Record cells are now carried as a distinct state in the grid rather than as silence, so a four-year budget record is no longer displayed as an absence. The scale table on the page is generated from the same constants the grades are computed from, which is how a hand-written −2.0 survived a scale change once and will not again.
Two topic titles named the wrong measure, and both were corrected. M8 was published as “DCC reductions”; it is a 5% rental vacancy target, of which the Development Cost Charge reduction is one instrument. M45c was published as “Centennial Square”; it is one signature public-space project chosen by residents from a shortlist of three — a Pandora linear park, an Inner Harbour promenade, or a Centennial Square renewal — so naming one of them stated a choice residents have not been asked to make. Six further column labels regained a concept the abbreviation had dropped. No mark, no mean and no grade changed: all 210 cells reconcile against the new master exactly as they did against the old one.
The candidate profiles on the Comparison Matrix carry a dated note. Their grades are current; their prose is a 31 July transcription that still describes several of the excluded marks as positions. Every one is listed there rather than quietly deleted. 210 scored marks across 55 topics and 15 candidates, plus 8 Record cells. A re-score after nominations close on 11 September is still mandatory before any of this informs a vote.
A mark is now computed rather than assigned. Each of the 225 marks across 55 topics is the output of two questions asked in order — does the candidate share the goal, and how would they do it — so the same evidence produces the same mark regardless of who reads it. The seven-symbol scale is retired for grading and kept as the evidence store on the Comparison Matrix. Every figure on the scorecard is recomputed from the published grid at build time and asserted against the master; a transcription slip fails the build rather than shipping beside a real person’s name.
Sandor’s and Lee’s full platforms were read at source for the first time, producing 21 marks the previous version did not hold — 14 of them to two challengers with no relationship to this framework. Three topics were created because candidates hold published positions the old topic set had nowhere to record: M69 real-estate rationalisation, M79c–f registries and disclosure, M82/M82b turnout and ballot access. Four “ACTW stands alone” claims were falsified against those platforms and are corrected on the matrix. A recorded-vote error on Matt Dell’s VicPD position was corrected.
The scale’s own defects are published, and one of them changes what this site will print. Opposed is −2.0 against a positive range of 0.5–3.0, so on a three or four topic column a single recorded vote moves a letter by up to four bands. Where a pillar contains an Opposed and fewer than five scored topics, this site shows no letter — the mean and the marks are still published, but a verdict the sample cannot carry is not presented as one. That withholds four letters: Gardiner and Hammond on Liveable, Kim and Lee on Safe. Every pillar grade shows its n, and thin bases are flagged.
Stated because it is the most important caveat on the page: most municipal candidates publish platform detail in September, so a matrix scored in August systematically under-reports challengers relative to incumbents, who have four years of votes on the record. A re-score after nominations close on 11 September is mandatory before the scorecard informs anything. 72 of the 225 marks currently display the sentence they rest on; the rest show the mark and its value while the evidence store is migrated.
The framework read through one resident’s eyes, six times over. For Families, For Renters, For Business Owners, For Cyclists & Transit Users, For Seniors, and For Homeowners. Same measures, same numbers, and the same jurisdictional caveats as the master — the Measure 40 camera-authority position, the Measure 9c advocacy label and the Measure 23b transit honesty carry over in substance — selected and rephrased for that reader, each closing on the scorecard rows that audience can check.
Measure numbers are the interface between the companions and the master. Every measure reference on these pages is generated as a link to its anchor in Every Measure rather than written by hand, so a companion page cannot cite a measure that does not exist. The six By Audience cards on the home page now link to them, and they appear in the footer, the header menu, and the mobile drawer.
Also in this deploy: three published totals that did not reconcile. The One-Page Summary’s gross savings-and-revenue line carried $12.5–27.8M, a stale figure that contradicted the cost line directly beneath it — at the low end it implied a net of −$5.5M against the +$4.3M published on the next row. It is now $17.7–32M. The Savings & Revenue Analysis was a version behind in Part C: twelve cost lines and both gated tiers were missing, so neither the steady-state nor the peak total summed to its own rows. Every total on both pages now reconciles to its own line items.
Measure numbers are treated as frozen identifiers through October 17, 2026. Every external document cites measures by number, so reading order moved to the presentation layer instead of being fixed by a renumbering that would trade weeks of reconciliation risk for no voter-visible gain. Thirteen flagship commitments, spanning fifteen tagged measures, now carry a ⭐, and a new Start Here section lists them in impact order with a real anchor into each. The six By Audience cards gained Start with Measures… routing lines.
Two letter-suffixed families are now named packages. Measures 66–66d are introduced as The Taxpayer Guarantee and 79–79f as The Integrity Package, each with a callout rendered ahead of its base measure. The accretion of successive gap-analysis cycles now reads as what it is: a coherent product, not a patch history. No measure text changed.
Measure 25c, and a section that finally counts. Sections 1.5 and 1.6 swapped so measure order runs 25 → 25b → 25c, and Measure 73b now precedes the 73c that qualifies it. The pets section previously carried three commitments and no measure number — three promises that appeared in no count, no cost table, and no accountability structure. They are now Measure 25c: a pet-friendly parks and public-spaces standard, at $0 net new, delivered inside the existing parks amenities budget and the Measure 49 programme. Active commitments: 131 → 132, and the Savings & Revenue Analysis is unchanged.
Second consecutive release in which a flagged defect was checked and the flag was wrong. An external review held that Part D’s low-end debt service implied a rate below the 4% over 15 years the table states as its basis. Recomputed from first principles, the table is correct: the annuity factor is 0.0899 per dollar borrowed, applied line by line, and the debt-service column reconciles to its own items in both directions.
The challenge divided by the wrong denominator. It used the $12.0–17.5M capital total, which includes $1.45M that carries no debt service by design — the EV parkade chargers, recoverable via user fees, and the tree planting programme, charged to operating. The debt-financed base is $10.5–16.0M, and on that base the high end reconciles exactly.
What changed is the footnote, not the figure. Part D’s basis note now states the annuity factor, names the two excluded lines, and says plainly that dividing by the capital total is the wrong denominator. A correct number that invites a reader to derive a wrong one is a presentation defect even when the arithmetic is sound.
The vision section was accurate and unpersuasive at the same time. It opened on a diagnosis and closed defensively on cost. It now leads with a destination claim, names the commitments that structurally distinguish the framework, gives the harbour promenade its own paragraph stating what Measure 47 actually funds rather than over-claiming an unbroken walkway, and accepts a mid-term deadline: if the numbers do not move, you will know by 2028, not at the next election.
Two superlatives are deliberately not reproduced on this site. The master flags “No BC city does that today” and “the first city in BC to put your permit answer in writing” as unsourced. Under the rule added in v1.9.3 a superlative is a measurement and needs a publisher and a year, so both are restated here as claims about what this framework commits to. They will be restored to the master’s wording once each carries a source.
The $160.1M capital figure was challenged and it survived. A review flagged it as unreconciled, on the reasoning that the only verifiable capital figure was $84.5M. That is the draft, superseded on May 7 alongside the draft $384.1M operating figure. $160.1M is the adopted 2026 capital number and comes from the same sentence as the $394.1M operating figure the framework already used. Only the label changed, to “$160.1M in 2026 capital improvements”, naming the adopted plan — a correct number carrying a loose label is still an attack surface.
The $750-per-resident policing figure is removed from all six places that carried it. It is not a government statistic. It originates with the Needs More Spikes blog and the Defund VicPD campaign, and it is a conditional projection of the per-capita cost policing would have reached in 2026 if the Police Board’s full funding request had passed. It did not pass.
One of those six placements was worse than merely unsourced. The Savings & Revenue Analysis attributed the figure to the VicPD Joint Board & Councils Meeting, October 2025 — a genuine government document that carries the budget figures but not this per-capita claim. A false citation to a real source is harder to defend than no citation at all. The Endorsement Pack, which instructs candidates to put figures in a press release under their own name, now carries an explicit do-not-use instruction naming it.
What replaces it. Victoria’s per-capita policing cost is $598 per resident (2023), the highest per capita of any police department in the province, per a BC Ministry of Public Safety report cited by CBC News. Where a 2026 figure is needed, the verifiable statement is that the Police Board’s Provisional 2026 budget sought a 9.82% increase of $7,755,058 to $86,753,970 — a request, not an adopted figure, and stated as one.
The rule this adds. A number does not become sourced by being placed next to a government document. Every statistic in voter-facing material carries its publisher, its year, and whether it is a measurement or a projection.
A fiscal commitment added to the accountability section for the first time. The framework's entire diagnostic opens on the budget, yet a voter who reached the scorecard could not find out what happens to their tax bill — Well-Managed and Democratic, two of five pillars, shared a single row between them. Row 1, residential tax rate, and row 2, verified annual savings, are new, and they are the two commitments no other candidate in the race can copy, because they require the arithmetic to have been done first.
Four rows replaced, each for a stated reason. Trees planted measured effort rather than result, so Measure 61's canopy percentage takes its place at row 12 alongside the GHG target; the planting count stays reported inside the measure itself. Stormwater upgrades carried a "replace oldest 20% of system" target that appeared nowhere in Measure 59; that work continues under Measure 59 and reports through the quarterly dashboard. Serious-injury collisions rested on a baseline of 1 to 3 fatalities a year — small enough that a 50% reduction is half a death, achievable by luck and missable by chance — and since Measure 40 was rewritten to advocacy the City no longer controls the main instrument. It is replaced by dangerous intersections redesigned: an output the City fully controls and can count. Green mobility is an existing OCP target rather than a new commitment, so it remains Measure 62 in full and is simply no longer one of the twelve headline numbers.
Two rows were also wrong rather than weak, and are corrected. Permit speed stated a flat −50% target when Measure 7's own category targets range from roughly 25% to 75%; row 8 now states simple, complex and rezoning targets directly. The intersections row had paired a serious-injury reduction target with a fatalities baseline — the exact mismatch that prompted its replacement above.
Corrected the three-year growth figure to roughly 31% — $299,976,550 adopted in 2023 against $394,060,040 adopted for 2026, verified on the same envelope. Reconciled the headroom figures across every page to $4.3–14.0M central and −$0.3M pessimistic.
Rewrote Measure 40 as advocacy after confirming that BC's Intersection Safety Camera programme is not operated by, or delegated to, municipalities — the measure could not be delivered by the City as previously written, so it no longer claims to be.
The public "100 active commitments" framing is retired. Three earlier versions published a count that did not survive a hand count, so the framework now states no total; the 12 Commitments scorecard is the public-facing number.
Eleven new sub-measures and three in-place strengthenings, for approximately $15–30K/year recurring and $175–290K one-time. New: M7b pattern-book housing, M8b suite-legalization amnesty, M26b civilian crisis response, M28d community paramedicine, M31c community-safety performance contract, M73d Strategic Economic Plan, M78b material change rule, M79d lobbyist registry, M79e FOI application-fee abolition, M79f remuneration deferral, M80c Local Area Plans. Strengthened in place: M7 tenure priority queue, M61 canopy target, M79 draft-back standard.
A further conditional tier of roughly $500–850K/year is excluded from every headroom figure: M26b, M28d and M80c. The first two proceed only with a confirmed provincial or health-authority cost-share partner, because municipally funding a clinical service outright is the downloading M70b exists to refuse; absent a partner both are advocacy at zero cost. Roughly two-thirds of v1.9's substantive value by dollar sits in that tier, which is the honest place for it.
This set was built to the post-v1.8 rule rather than around it. Every other item is cost-neutral or offset by name. Net headroom moves to approximately $4.27–13.99M central — inside the rounding of the v1.8 range rather than a movement of it. That is the design, not a coincidence: after v1.8 there was almost nothing left to spend.
No measure added, no cost booked, no commitment changed. Nine internal contradictions found in a full-document review and closed. The two largest: The Method still opened with the superseded $384.1M / 29% / 10.44% diagnostic while the Well-Managed pillar carried the corrected one; and every fiscal rule was protected by a "supermajority of Council (6 of 8)" when Victoria's council has nine members — which Measure 79c stated correctly in the same document. Both fixed, the second in all six locations.
Also: the three-year growth figure is now 31% with both endpoints verified against the City's own adopted plans ($299,976,550 for 2023, $394,060,040 for 2026, same envelope, like for like); the Balance Sheet now leads with net headroom of $4.3–14.0M rather than the gross $12.5–27.8M; the unsourced 53% salary-share claim and the unsourced "lowest unemployment in the country" are removed; the canopy baseline is stated once; and both notes-to-self were resolved rather than deleted.
The 2027 question, answered from the plan. The adopted 2026–2030 Financial Plan contains no 2027 tax-increase percentage, so neither Gardiner's "roughly double" nor Dell's rebuttal was quoting a published figure. What the plan does show for 2027 is roughly $13.8M of new pressure against a $209.1M tax base — about 6.5 points before any wage, contract or police growth: the $2M debt-reduction contribution resuming, debt servicing up 32%, the capital transfer up $5.0M, and the parking contribution down $3.7M. Stated as arithmetic, not forecast.
Second pass, same day. Added a cost statement to all 35 measures that had none, every one $0, cross-referenced, or absorbed within an already-reconciled line. Added "Victoria in 2030". Reconciled the Savings & Revenue Analysis across 46 recurring, 9 capital and 8 one-time lines, with all 16 previously missing measures booked and net headroom restated at $4.3–14.0M central and about −$0.3M pessimistic. Brought the FAQ, One-Page Summary, Endorsement Pack and City Hall guide current. Added the CRD as a fourth row in the orders-of-government table. Resolved the tagline conflict in favour of "Proven ideas. Measurable results."
Two findings not on the defect list, disclosed rather than quietly fixed. First, "absorbed within" appeared 11 times with no running total anywhere; Savings Part C1 now totals every offset envelope, and the M68 attrition envelope carries $0.34–0.49M against a $1.9–4.0M saving, so 9% to 26% consumed. Second, Measure 26 and Measure 67 were absorbing costs from other measures while stating no budget of their own, so costs were charged to envelopes nobody could size. Both now costed explicitly — which moved the pessimistic case from roughly break-even to about −$0.3M. Worse-looking, more honest, correct direction.
Measure 66 now caps the residential property tax rate, not the total levy. Council raised total 2026 revenue 7.28% and distributed it at 9.34% residential / 4.78% business, so a cap on the total would have permitted a 9% homeowner bill described as 6.5%. Added a ratio rule preventing the business-to-residential split being moved to manufacture the number, an assessment caveat, and a commitment to publish both figures annually with the dollar change on a median home.
The Year 1 claim got stronger by getting more honest — 6.5% is a three-quarter-point reduction against the aggregate and nearly three points against the residential rate. Three factual corrections from the City's adopted figures: operating budget $394.1M adopted (not the $384.1M draft); opening draft 13.3% (not 10.44%); and the residential split now shown for two years.
Eight new sub-measures written against the categories Victoria candidates will actually be questioned on, and the gaps neither this framework nor the incumbent field addressed: M13d standing School District 61 agreement, M20b a walking city, M23b transit control and funding, M50b arts and culture funding floor, M53d municipal AI standard, M66d the Household Bill, M70c the regional bill and Victoria's CRD representation, M82b turnout and ballot access.
Five in-place strengthenings and one correction of an internal contradiction: M24 committed the City to street-level computer vision while the framework committed to no City cameras. Booked cost −$110–200K/yr with named offsets; three further commitments worth $450–700K/yr were deliberately gated on verified Year 1 savings rather than booked, because the pessimistic headroom case had no room in it. The public "100 active commitments" framing is retired.
No new measures and no new spending. Measure 81 rewritten because the prior text proposed creating a Citizens' Assembly that had already sat, reported, and closed; the measure is now scoped to finishing the file against the Minister's April 2026 conditions. Measure 66's Year 1 claim re-benchmarked against the 7.28% council actually levied rather than the 10.44% draft. v1.7.1 followed with the headroom line-item rebuild to $4.5–14.2M/yr central and roughly −$0.1M pessimistic.
- v1.3.1 — M11 outcomes discipline
- v1.3.2 / v1.3.3 — M80b rewritten, then re-scoped to Canada's official languages
- v1.4 — ten prioritized edits including the M66b over-collection refund
- v1.5 — five new sub-measures: M45c, M55b, M58b, M73b, M79c
- v1.6 — six new sub-measures, the M30 gating decision, and four explicit declines
- v1.6.1 — Measure 68 attrition target raised from 10% to 12–15%
Prior versions
Honest cost-benefit re-examination of Measure 53. Demoted the full city-scale Digital Twin from a Year 1–2 commitment to a Year 3+ aspirational measure contingent on specific gates: M53/M53b delivering measurable value, federal or provincial co-funding of at least 50%, and at least one Canadian peer city at Victoria's scale demonstrating successful deployment first.
Replaced with three smaller, Canadian-peer-precedented measures: M53 GIS and underground utility modernization, M53b AI consultation imagery reframed as a permanent measure on its own merits, and new M53c a one-time LIDAR scan of the downtown core. Net headroom widened from v1.2's $4.9–14.1M/yr to $5.4–14.9M/yr. Roughly 101 active commitments.
Five new sub-measures (city land bank, youth services 18–25, public bathrooms, pedestrianization pilots, universal accessibility), 13 measure expansions, and sourcing corrections — Phoenix replaces an unverified C.D. Howe figure, and Calgary is updated to the verified $74M / $60M numbers. Roughly 100 active commitments, with an honest budget correction: v1.2's incremental cost had been understated and was corrected to about $2.5–3.5M/yr above v1.1.
Integrated the May 2026 Competitive Intelligence Audit. Added 12 new sub-measures absorbing the strongest individual proposals from across the political spectrum: STEP supportive-housing throughput, Integrity Commissioner and MNP governance, regional policing review, heat-protection rental bylaw, STR licensing tightening, vacancy control advocacy, family-doctor recruitment, business-security cost-spreading, drug-use buffer zones, SUV hood-height advocacy, cultural-venue preservation, the provincial-downloading ledger, AI consultation imagery, and non-English accessibility. Cross-bloc attribution made explicit in the changelog. Total: 94 active commitments.
The original 82 measures across five pillars plus one foundation. First synthesis of the framework, before competitive-intelligence integration.
How to read the history
Each release above lists what changed, why, and where, with measure numbers. Cross-bloc attributions are tagged, so anyone who proposed an idea first can find their contribution credited. The dated changelogs for every step are appended to the working master alongside the measures themselves, and archive snapshots preserve the verbatim state of the framework at v1.1, v1.2, v1.3.3, v1.4, v1.5 and v1.7.1.
Upcoming
- Savings & Revenue Analysis — reconciled to v1.8.2 across 46 recurring, 9 capital and 8 one-time lines. The next checkpoint is the first published quarterly variance report.
- Comparison Matrix fairness defect — inference-based alignment marks against named candidates, against the matrix's own stated standard requiring a public source for every score. Open since v1.7 and now inside the pre-campaign period, which began July 20, 2026.
- Elections BC written opinion — on whether framework policy content constitutes third-party advertising in each period, and how the independence test applies. The independence test is the real exposure, not the registration.
- v2.0 will trigger if accumulated additions warrant a full re-numbering, if structural changes become necessary, or if the Year 3+ Digital Twin gates are met and the full city-scale Digital Twin re-enters as a confirmed commitment.
Any addition after v1.8 must be genuinely cost-neutral, carry a named offset against a specific existing line, or be gated on verified savings. The pessimistic headroom case is at break-even, and v1.9 was the first test of that rule.