Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| /** | |
| * Dashboard Data Configuration | |
| * | |
| * Committed reconstruction of the file normally AUTO-GENERATED by the Python | |
| * accountability analysis: | |
| * python scripts/examples/tuscaloosa_accountability_report.py | |
| * (see export_for_frontend() there for the canonical shape). It is committed so | |
| * the app builds without first running the full LLM/extraction pipeline; re-run | |
| * the script to refresh it from live warehouse data. | |
| * | |
| * Example jurisdiction: Tuscaloosa, AL — student health & wellness spending. | |
| */ | |
| export const metadata = { | |
| jurisdiction: "Tuscaloosa", | |
| state: "Alabama", | |
| focusTopic: "Health & Wellness Programs", | |
| analysisDate: "2026-06-06", | |
| maxDiscomfortScore: 9, | |
| // title/description are read by App.jsx's header (App.jsx evolved past the | |
| // Python generator template, which only emits the fields above). | |
| title: "Policy Accountability Dashboards", | |
| description: "Evidence-based accountability dashboards exposing the gaps between rhetoric and reality in Tuscaloosa, AL local government decision-making." | |
| }; | |
| // ================================================================ | |
| // DASHBOARD 1: Words vs. Dollars (Rhetoric Gap) | |
| // ================================================================ | |
| export const rhetoricGapData = { | |
| sentimentScore: 92, | |
| totalMentions: 47, | |
| sampleQuotes: [ | |
| "We are deeply committed to the health and wellness of every student in our district.", | |
| "Student wellness remains one of our highest priorities this budget cycle.", | |
| "Investing in healthy kids is investing in our community's future." | |
| ], | |
| budgetCategory: "Student Health & Wellness", | |
| priorYearAmount: 325000, | |
| currentYearAmount: 205000, | |
| budgetDelta: -120000, | |
| budgetDeltaPercent: -36.9, | |
| adminCostGrowth: 31, | |
| benchmarks: { | |
| thisDistrict: { perStudent: 41, label: "This District" }, | |
| republicanAvg: { perStudent: 74, label: "Republican Districts Avg" }, | |
| democraticAvg: { perStudent: 98, label: "Democratic Districts Avg" }, | |
| nationalAvg: { perStudent: 112, label: "National Average" } | |
| }, | |
| gapType: "rhetoric_reality_gap", | |
| conclusion: "Public praise for wellness rose while the wellness budget was cut 37%.", | |
| inference: "Positive rhetoric is being used to soften an unannounced funding reduction." | |
| }; | |
| // ================================================================ | |
| // DASHBOARD 2: Delayed 6 months and counting (Logic Chain) | |
| // ================================================================ | |
| export const logicChainData = { | |
| topic: "Community Health Partnership Proposal", | |
| firstMentioned: "2025-09-15", | |
| monthsInLimbo: 6, | |
| totalDeferrals: 4, | |
| justifications: [ | |
| { month: "September 2025", status: "deferred", reason: "Needs further legal review before the board can act.", speaker: "Board Attorney" }, | |
| { month: "November 2025", status: "work session", reason: "Tabled to a future work session pending budget guidance.", speaker: "Finance Chair" }, | |
| { month: "January 2026", status: "deferred", reason: "Awaiting an updated risk assessment from the district risk manager.", speaker: "Risk Manager" }, | |
| { month: "March 2026", status: "deferred", reason: "Deferred again; more community input requested.", speaker: "Board President" } | |
| ], | |
| benchmarks: { | |
| thisDistrict: { activePrograms: 0, label: "This District" }, | |
| republicanAvg: { activePrograms: 14, label: "Republican States" }, | |
| democraticAvg: { activePrograms: 21, label: "Democratic States" }, | |
| nationalAvg: { activePrograms: 35, label: "States with Programs" } | |
| }, | |
| patternType: "sequential_deferral", | |
| conclusion: "Four deferrals over six months, each with a different rationale.", | |
| inference: "Rotating justifications indicate the delay is the decision." | |
| }; | |
| // ================================================================ | |
| // DASHBOARD 3: What Got Funded Instead (Displacement Matrix) | |
| // ================================================================ | |
| export const displacementData = { | |
| topic: "Health & Wellness vs. Capital Projects", | |
| displacements: [ | |
| { winner: "Athletic field turf replacement", winnerAmount: 170000, loser: "Student dental screening program", loserAmount: 0, tradeoffFactor: "∞" }, | |
| { winner: "Stadium lighting upgrade", winnerAmount: 95000, loser: "School nurse staffing expansion", loserAmount: 0, tradeoffFactor: "∞" }, | |
| { winner: "Administrative office renovation", winnerAmount: 60000, loser: "Mental health counselor pilot", loserAmount: 12000, tradeoffFactor: "5.0x" } | |
| ], | |
| benchmarks: { | |
| thisDistrict: { healthCapital: 0, athleticCapital: 170, label: "This District" }, | |
| republicanAvg: { healthCapital: 29, athleticCapital: 95, label: "Republican Districts" }, | |
| democraticAvg: { healthCapital: 48, athleticCapital: 85, label: "Democratic Districts" }, | |
| nationalAvg: { healthCapital: 42, athleticCapital: 88, label: "National Average" } | |
| }, | |
| priorityPattern: "visible_over_invisible", | |
| conclusion: "Visible capital projects were funded while health infrastructure got $0.", | |
| inference: "Spending favors projects with ribbon-cuttings over preventive health." | |
| }; | |
| // ================================================================ | |
| // DASHBOARD 4: One Memo Beat 240 Residents (Influence Radar) | |
| // ================================================================ | |
| export const influenceData = { | |
| topic: "Community Health Partnership Vote", | |
| actors: [ | |
| { actor: "Risk / Legal memo (1 document)", influence: 92, type: "blocker", contactName: "District Risk Manager", documents: 1 }, | |
| { actor: "240+ citizen comments in favor", influence: 4, type: "public", contactName: "Public testimony", documents: 240 } | |
| ], | |
| publicComments: 240, | |
| publicSupportRatio: 98, | |
| legalMemos: 1, | |
| consultantReports: 0, | |
| benchmarks: { | |
| thisDistrict: { liabilitySuits: "Program Blocked", label: "This District" }, | |
| republicanAvg: { liabilitySuits: 0, label: "Republican States" }, | |
| democraticAvg: { liabilitySuits: 0, label: "Democratic States" }, | |
| nationalAvg: { liabilitySuits: 0, label: "All States Combined" } | |
| }, | |
| powerStructure: "single_veto_holder", | |
| vetoHolder: "District Risk Manager", | |
| conclusion: "One risk memo outweighed 240 supportive public comments.", | |
| inference: "A single unelected staff memo functioned as a veto over public will." | |
| }; | |
| // ================================================================ | |
| // SUMMARY PAGE DATA | |
| // ================================================================ | |
| export const summaryData = { | |
| headline: "This isn't a left-vs-right debate. It's a pattern.", | |
| subheadline: "Four ways decision-making in Tuscaloosa diverges from both Republican and Democratic averages", | |
| findings: [ | |
| { | |
| id: 1, | |
| title: "They cut health spending while praising wellness", | |
| metric: "$41/student", | |
| context: "vs. $112 national avg", | |
| discomfort: 8, | |
| summary: "92% positive sentiment about 'wellness' in meetings, but $120,000 budget cut" | |
| }, | |
| { | |
| id: 2, | |
| title: "Delayed 6 months and counting", | |
| metric: "4 deferrals", | |
| context: "shifting justifications", | |
| discomfort: 7, | |
| summary: "Community partnership proposal has been 'under review' with changing rationales" | |
| }, | |
| { | |
| id: 3, | |
| title: "What got funded instead", | |
| metric: "$170k turf", | |
| context: "vs. $0 dental screening", | |
| discomfort: 9, | |
| summary: "Visible projects prioritized over invisible health infrastructure" | |
| }, | |
| { | |
| id: 4, | |
| title: "One memo beat 240 residents", | |
| metric: "92% influence", | |
| context: "from 1 risk manager", | |
| discomfort: 9, | |
| summary: "District Risk Manager's liability memo had outsized influence vs. public testimony" | |
| } | |
| ], | |
| howToUse: { | |
| title: "How to use this in the room", | |
| strategies: [ | |
| { | |
| dont: "Argue the 'need'", | |
| do: "Show the rhetoric gap — they already agree health matters" | |
| }, | |
| { | |
| dont: "Accept 'budget constraints'", | |
| do: "Show the displacement — they funded other projects in same budget cycle" | |
| }, | |
| { | |
| dont: "Let them hide behind 'the board decided'", | |
| do: "Name the veto holder — one person's memo had 92% influence" | |
| } | |
| ] | |
| } | |
| }; | |