CSKE Whole-Picture Town Decision Guide v0.3.4 Execution correction note — August 14, 2026 Observed v0.3.2 failure ----------------------- The read-only launcher reached the parcel_control query after successfully creating the audit, disclosure, and FY2027 Town-accounting summary extracts. PostgreSQL then stopped on: ERROR: function sum(text) does not exist The failing source field was gis_card_parcel.parcel_area_acres. The next parcel-status query used the same unsupported aggregation and would also have failed. The FY2026 parcel valuation fields used by the control are also protected by the same correction. v0.3.3 parcel correction ----------------- The parcel-control and parcel-status queries now: 1. convert the source value to text explicitly; 2. trim it and remove thousands separators; 3. accept only a plain signed integer or decimal pattern; 4. cast accepted values to PostgreSQL numeric; and 5. aggregate the validated numeric alias. No malformed source value is guessed. A value that does not pass the numeric pattern becomes NULL for the mechanical aggregate, after which the released row-count, acreage, and valuation controls must still pass or the launcher stops. Additional v0.3.3 reporting controls ------------------------------------ - The live launcher extracts all 473 FY2027 source accounts to acct_detail.csv. - Detail adjusted budget, YTD positive spend, and unexpended balance must reconcile to acct_control.csv. - Service-purpose, expense-nature, fund-family, and presentation detail groupings must reconcile to their summary counts and adjusted budgets. - The leadership guide exposes exact account lines through clickable group and department views, sorted by Town department. - All 48 grant-program records show every loaded date/period and each instrument or award amount separately; unlike records are not summed. Observed v0.3.3 failure ----------------------- The corrected parcel queries passed against the local database. The launcher then completed all parcel, grant, and substantive capital-assessment extracts, but stopped at the capital source-locator count control. The study row points to the primary assessment artifact, which contains 76 locator rows. A companion accessibility/appendix artifact contains another 176 locator rows for the same August 23, 2021 assessment. The released complete locator population is 252. v0.3.4 capital-locator correction --------------------------------- The runtime control and complete source-locator extract now use the study's controlled report date to include both released evidence artifacts. The control continues to require exactly 252 locators; it is not weakened to the incomplete 76-row primary-artifact subset. Packaging tests separately require the 76 + 176 artifact split to equal the 252-row complete population. Masked grant-filter correction ------------------------------ The same execution log shows that the live grant queries selected only `G`-prefixed Wilbraham IDs: 72 of 117 instruments, 67 of 68 awards, and 72 of 117 projects. The released grant inventory also contains `R`- and `S`-prefixed records. v0.3.4 scopes the grant domain to the complete `*-WIL-*` ID family and retains the exact released controls of 117 instruments, 68 awards, and 117 projects. This correction would otherwise have been exposed only after the capital-locator gate passed. Verification boundary --------------------- The Python generators compile, the packaged static guide rebuilds, and its 48 program drill-downs and 252-row two-artifact capital-locator reconciliation pass structural checks in the packaging workspace. A successful run against the local Wilbraham PostgreSQL database remains the final runtime control and will produce its own timestamped execution evidence file.