Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
34b3157
fix: redirect logged-out users to login when clicking Follow button
slarson Mar 25, 2026
0348b29
initial plan
nesanders Jun 4, 2026
774568e
feat: add lobbying disclosure ingestion pipeline
nesanders Jun 4, 2026
0074294
feat: add Python Cloud Run scraper for lobbying disclosures
nesanders Jun 5, 2026
2bcb783
refactor: remove dead TypeScript scraper code from lobbying module
nesanders Jun 9, 2026
3689796
Link legislator profiles to district pages
Smoss May 20, 2026
f0aacd5
Enhance SEC district parsing and testing
Smoss May 20, 2026
253014e
Add feature flag check for legislator profile page
Smoss Jun 17, 2026
9e8a14f
Refactor district parsing tests and update project configuration
Smoss Jun 17, 2026
beb1861
Delete .tool-versions (#2173)
nesanders Jun 26, 2026
df7c78e
Merge remote-tracking branch 'upstream/main' into lobbying-data-pipeline
nesanders Jun 26, 2026
26150ef
feat: parser fixes for all 4 disclosure eras + GCS archiving infrastr…
nesanders Jun 28, 2026
b66576a
fix: Firestore write path bugs found during dev write test
nesanders Jun 29, 2026
6129130
docs: update lobbying ingestion doc to reflect Python scraper and all…
nesanders Jun 29, 2026
1ef618a
docs: add real Firestore examples and fix registrantId description
nesanders Jun 30, 2026
f43d5b0
Cross-compatibility (#2174)
delexagon Jul 1, 2026
c28e6a1
moar Homepage Tweaks (#2172)
mertbagt Jul 1, 2026
e6c3fb3
Merge pull request #2145 from Smoss/smoss/scrape-ma-district-pages
mertbagt Jul 2, 2026
1f39cfb
update browser tab title
mertbagt Jul 2, 2026
90f9273
directory path
mertbagt Jul 2, 2026
56e8603
legislator header refactored
mertbagt Jul 3, 2026
9718b06
legislator tabs
mertbagt Jul 4, 2026
81ecbf9
refactor sidebar
mertbagt Jul 4, 2026
2e18f8c
tab containers
mertbagt Jul 4, 2026
f4780c1
resposive margings
mertbagt Jul 4, 2026
eae3474
fix: add getStaticProps to token page and wire prod MCP env (#2176)
nesanders Jul 7, 2026
15543fd
added translations
mertbagt Jul 7, 2026
7ff555c
Merge pull request #2180 from mertbagt/refactor-legis-header
mertbagt Jul 7, 2026
5c6bcb1
refactor: replace _total_salary_ sentinel with legacyTotalCompensatio…
nesanders Jul 8, 2026
e9bbdcd
test: add writer unit tests and fix types.ts formatting
nesanders Jul 8, 2026
0e03c10
fix: track reparse progress via GCS metadata instead of Firestore array
nesanders Jul 10, 2026
c8ba40d
fix: get year from Firestore registrant doc instead of parsing URL
nesanders Jul 10, 2026
3f83938
chore: ignore Python pycache/bytecode and remove tracked .pyc files
nesanders Jul 10, 2026
f144667
Redesign the Learn section around a hub page
k-g-k Jul 10, 2026
4c96e4f
Reword the How section intro and Testify in writing step
k-g-k Jul 10, 2026
658cf43
Let scroll drive the legislative process accordion
k-g-k Jul 10, 2026
369baa0
Animate the process accordion; revert scroll-driven opening
k-g-k Jul 10, 2026
6fad899
Land a clicked chapter below the rail without a corrective jump
k-g-k Jul 10, 2026
bb16018
Reword the Individuals and Organizations taglines
k-g-k Jul 10, 2026
b6b9fd3
Rework the process page: the rail follows the reader
k-g-k Jul 10, 2026
8415911
Reduce the rail's look-ahead to 120px
k-g-k Jul 10, 2026
0255162
Make the rail behave differently going up than going down
k-g-k Jul 10, 2026
59ab45a
Trigger Vercel preview
k-g-k Jul 10, 2026
9a3b1a5
Land every rail-click chapter cleanly below the sticky nav
k-g-k Jul 10, 2026
1144bd7
Fix two mobile navbar/rail issues
k-g-k Jul 10, 2026
9743156
Keep the persona tabs on one row with short labels
k-g-k Jul 10, 2026
cdb4bfb
Show the active-state look on persona-tab hover, instantly
k-g-k Jul 10, 2026
96880c4
Make the active mobile nav dropdown item bold white
k-g-k Jul 10, 2026
cd92a1f
Stop the rail's initial-scroll jank on mobile
k-g-k Jul 10, 2026
d885c2e
Loosen line-height and padding on the AI Research Tools page
k-g-k Jul 10, 2026
c20717e
Hold rail highlight tracking until it locks, to smooth mobile scroll
k-g-k Jul 10, 2026
6859a8e
Reset the legislative-process page to the top on load
k-g-k Jul 10, 2026
50d9c0a
Attach the rail's scroll tracking only once it pins (mobile)
k-g-k Jul 10, 2026
f778e7a
Reset the rail highlight to the first stage when unpinned at the top
k-g-k Jul 10, 2026
8653f0f
Merge pull request #2158 from nesanders/lobbying-data-pipeline
Mephistic Jul 11, 2026
2a9b500
Deep-link the retired Learn pages to the sections that replaced them
k-g-k Jul 13, 2026
6438e58
update README.md
allcontributors[bot] Jul 14, 2026
b908101
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
3bb53f2
update README.md
allcontributors[bot] Jul 14, 2026
aa5fd0d
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
e65a461
Merge pull request #2184 from codeforboston/all-contributors/add-J-C-L
mertbagt Jul 14, 2026
d162bd6
Merge branch 'main' into all-contributors/add-Smoss
mertbagt Jul 14, 2026
d8505e1
Merge pull request #2185 from codeforboston/all-contributors/add-Smoss
mertbagt Jul 14, 2026
5d9ed90
update README.md
allcontributors[bot] Jul 14, 2026
a0be179
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
d0db118
Merge pull request #2186 from codeforboston/all-contributors/add-c-to…
mertbagt Jul 14, 2026
9d3be1c
update README.md
allcontributors[bot] Jul 14, 2026
f4713f0
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
5eda59a
Merge pull request #2187 from codeforboston/all-contributors/add-Venk…
mertbagt Jul 14, 2026
e5b68ad
update README.md
allcontributors[bot] Jul 14, 2026
41309b3
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
ef1ee2f
Merge pull request #2188 from codeforboston/all-contributors/add-ACou…
mertbagt Jul 14, 2026
4f81449
update README.md
allcontributors[bot] Jul 14, 2026
73905b5
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
13699d1
Merge pull request #2189 from codeforboston/all-contributors/add-Lexa…
mertbagt Jul 14, 2026
4506409
update README.md
allcontributors[bot] Jul 14, 2026
d5977b5
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
96a368e
Merge pull request #2190 from codeforboston/all-contributors/add-fast…
mertbagt Jul 14, 2026
4075242
update README.md
allcontributors[bot] Jul 14, 2026
a2a302c
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
f40dcbd
Merge pull request #2191 from codeforboston/all-contributors/add-AstorDG
mertbagt Jul 14, 2026
a0c213f
update README.md
allcontributors[bot] Jul 14, 2026
1ae1496
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
dbfee3b
Merge pull request #2192 from codeforboston/all-contributors/add-n1b11
mertbagt Jul 14, 2026
ae77235
update README.md
allcontributors[bot] Jul 14, 2026
75554ec
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
02b2244
Merge pull request #2193 from codeforboston/all-contributors/add-nsse…
mertbagt Jul 14, 2026
28e9f71
update README.md
allcontributors[bot] Jul 14, 2026
5173422
update .all-contributorsrc
allcontributors[bot] Jul 14, 2026
21f1985
Merge pull request #2194 from codeforboston/all-contributors/add-jasrose
mertbagt Jul 14, 2026
a486e5e
Replace the icons on the about testimony page's why section to be mor…
k-g-k Jul 14, 2026
609f566
Add a Writing Effective Testimony page and restyle the Learn hub
k-g-k Jul 14, 2026
bc734d2
Merge remote-tracking branch 'upstream/main' into learn-hub-redesign
k-g-k Jul 14, 2026
086f96b
Guard the Learn icon lists, fix the mobile Learn dropdown, and edit copy
k-g-k Jul 14, 2026
22585bd
Fix the mobile Learn dropdown hover and active-row states
k-g-k Jul 14, 2026
02e0a49
Add Firestore indexes for lobbying explorer (#2199)
nesanders Jul 15, 2026
99b84fa
Multi video backend (#2153)
delexagon Jul 15, 2026
9fbd8c8
Merge remote-tracking branch 'upstream/main' into learn-hub-redesign
k-g-k Jul 17, 2026
c9453a2
Add a call to action to each Why Use MAPLE persona, and underline the…
k-g-k Jul 17, 2026
627e519
Restyle the About pages
k-g-k Jul 17, 2026
0fdc919
Put Our Team on the medium Learn column
k-g-k Jul 17, 2026
38abba5
Improve About-page accessibility without visual changes
k-g-k Jul 18, 2026
be235d2
Refine About/Learn spacing and fix mobile Our Team issues
k-g-k Jul 18, 2026
c4c60a1
Merge pull request #2196 from k-g-k/learn-hub-redesign
mertbagt Jul 19, 2026
834ca76
update README.md
allcontributors[bot] Jul 20, 2026
a6b0aad
update .all-contributorsrc
allcontributors[bot] Jul 20, 2026
032a9b2
Merge pull request #2202 from codeforboston/all-contributors/add-k-g-k
mertbagt Jul 20, 2026
34cd7d9
fix: replace homepage screenshot with Bills search preview (#2206)
nesanders Jul 21, 2026
6aa83e2
[Our Team page, Partners tab] remove shoopty whoop (#2201)
mertbagt Jul 21, 2026
c4148f8
fix org socials (#2197)
mertbagt Jul 21, 2026
7dfb973
[Legislator Page] pipe in Maple profile (#2181)
mertbagt Jul 22, 2026
91d239d
Add OCPF campaign finance scraper and Finance tab (#2195)
J-C-L Jul 22, 2026
eee1444
Election scraping (#2178)
delexagon Jul 22, 2026
24ec2d0
Revise Learn and About page copy and fix typos (#2207)
k-g-k Jul 25, 2026
2919c33
Pass through bucketName (#2208)
delexagon Jul 29, 2026
f5c8005
Finance scrapper (#2209)
J-C-L Jul 29, 2026
c46d5c1
Election bugfix
delexagon Jul 29, 2026
c571307
Link legislator tabs to URL hashes
ericpastorm Jul 30, 2026
7acc3ae
Merge pull request #2210 from delexagon/election-bugfix
mertbagt Aug 4, 2026
fdd2d72
Merge pull request #2213 from ericpastorm/feat/legislator-tab-deep-links
mertbagt Aug 5, 2026
6e3215b
update README.md
allcontributors[bot] Aug 5, 2026
6cfe6b1
update .all-contributorsrc
allcontributors[bot] Aug 5, 2026
b919fce
Merge pull request #2215 from codeforboston/all-contributors/add-eric…
mertbagt Aug 5, 2026
1e037fb
Fix vote modal (#2217)
delexagon Aug 18, 2026
54f24f2
Merge branch 'main' into fix/follow-button-auth-redirect
mertbagt Aug 20, 2026
eb30981
fixage and prettier
mertbagt Aug 20, 2026
cea5e07
moar prettier
mertbagt Aug 20, 2026
76b02d1
Merge pull request #2086 from slarson/fix/follow-button-auth-redirect
mertbagt Aug 20, 2026
e373cec
update README.md
allcontributors[bot] Aug 21, 2026
2a9df5a
update .all-contributorsrc
allcontributors[bot] Aug 21, 2026
9a2a9ba
Merge pull request #2220 from codeforboston/all-contributors/add-slarson
mertbagt Aug 21, 2026
1ced6c5
fix(lobbying): weekly-scraper cursor exceeds Firestore's 1MB document…
nesanders Aug 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 127 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,133 @@
"contributions": [
"code"
]
},
{
"login": "Smoss",
"name": "Sean Moss",
"avatar_url": "https://avatars.githubusercontent.com/u/2860018?v=4",
"profile": "https://github.com/Smoss",
"contributions": [
"code"
]
},
{
"login": "J-C-L",
"name": "Janice Lichtman",
"avatar_url": "https://avatars.githubusercontent.com/u/9040395?v=4",
"profile": "https://github.com/J-C-L",
"contributions": [
"code"
]
},
{
"login": "c-tonneslan",
"name": "Charlie Tonneslan",
"avatar_url": "https://avatars.githubusercontent.com/u/281950697?v=4",
"profile": "https://c-tonneslan-portfolio.vercel.app/",
"contributions": [
"code"
]
},
{
"login": "VenkateshDevarakonda0706",
"name": "VenkateshDevarakonda0706",
"avatar_url": "https://avatars.githubusercontent.com/u/188581366?v=4",
"profile": "https://github.com/VenkateshDevarakonda0706",
"contributions": [
"code"
]
},
{
"login": "ACoullard",
"name": "Andre Coullard",
"avatar_url": "https://avatars.githubusercontent.com/u/119697079?v=4",
"profile": "https://github.com/ACoullard",
"contributions": [
"code"
]
},
{
"login": "LexaMichaelides",
"name": "Lexa Michaelides",
"avatar_url": "https://avatars.githubusercontent.com/u/32111123?v=4",
"profile": "http://lexa.fyi",
"contributions": [
"code"
]
},
{
"login": "fastfadingviolets",
"name": "violet",
"avatar_url": "https://avatars.githubusercontent.com/u/158512193?v=4",
"profile": "https://github.com/fastfadingviolets",
"contributions": [
"code"
]
},
{
"login": "AstorDG",
"name": "Astor Meredith-Goujon",
"avatar_url": "https://avatars.githubusercontent.com/u/42044772?v=4",
"profile": "https://github.com/AstorDG",
"contributions": [
"code"
]
},
{
"login": "n1b11",
"name": "Noah Burd",
"avatar_url": "https://avatars.githubusercontent.com/u/183017602?v=4",
"profile": "https://github.com/n1b11",
"contributions": [
"code"
]
},
{
"login": "nssensalo",
"name": "Nansamba Ssensalo",
"avatar_url": "https://avatars.githubusercontent.com/u/85596471?v=4",
"profile": "https://github.com/nssensalo",
"contributions": [
"code"
]
},
{
"login": "jasrose",
"name": "Jasmine Rose",
"avatar_url": "https://avatars.githubusercontent.com/u/72074190?v=4",
"profile": "https://github.com/jasrose",
"contributions": [
"code"
]
},
{
"login": "k-g-k",
"name": "Grace (Iron Yard/CaseNEX/IO Account)",
"avatar_url": "https://avatars.githubusercontent.com/u/10489124?v=4",
"profile": "https://github.com/k-g-k",
"contributions": [
"code",
"design"
]
},
{
"login": "ericpastorm",
"name": "Eric",
"avatar_url": "https://avatars.githubusercontent.com/u/38719351?v=4",
"profile": "https://github.com/ericpastorm",
"contributions": [
"code"
]
},
{
"login": "slarson",
"name": "Stephen Larson",
"avatar_url": "https://avatars.githubusercontent.com/u/1037756?v=4",
"profile": "http://twitter.com/slars0n",
"contributions": [
"code"
]
}
],
"commitType": "docs"
Expand Down
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ infra/dev/typesense-secrets.yml
infra/prod/typesense-secrets.yml

.python-version
__pycache__/
*.pyc
*.pyo

/*.history

Expand All @@ -92,5 +95,10 @@ cert.txt
# local MCP server config (contains auth tokens)
.mcp.json
mcp-server/create-agent-key.ts
.gcloudignore

# Claude
CLAUDE.md

#gcloud
.gcloudignore

1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ llm
playwright-report
CLAUDE.md
.cursor/
tests/fixtures
2 changes: 2 additions & 0 deletions .serena/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/cache
/project.local.yml
132 changes: 132 additions & 0 deletions .serena/project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# the name by which the project can be referenced within Serena
project_name: "maple"

# list of languages for which language servers are started; choose from:
# al angular ansible bash clojure
# cpp cpp_ccls crystal csharp csharp_omnisharp
# dart elixir elm erlang fortran
# fsharp go groovy haskell haxe
# hlsl html java json julia
# kotlin lean4 lua luau markdown
# matlab msl nix ocaml pascal
# perl php php_phpactor powershell python
# python_jedi python_ty r rego ruby
# ruby_solargraph rust scala scss solidity
# svelte swift systemverilog terraform toml
# typescript typescript_vts vue yaml zig
# (This list may be outdated. For the current list, see values of Language enum here:
# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py
# For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
# Note:
# - For C, use cpp
# - For JavaScript, use typescript
# - For Angular projects, use angular (subsumes typescript+html; requires `npm install` in the project root)
# - For Svelte projects, use svelte (subsumes typescript/javascript for .svelte projects; requires npm)
# - For SCSS / Sass / plain CSS, use scss (some-sass-language-server handles all three)
# - For Free Pascal/Lazarus, use pascal
# Special requirements:
# Some languages require additional setup/installations.
# See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers
# When using multiple languages, the first language server that supports a given file will be used for that file.
# The first language is the default language and the respective language server will be used as a fallback.
# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
languages:
- typescript

# the encoding used by text files in the project
# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
encoding: "utf-8"

# line ending convention to use when writing source files.
# Possible values: unset (use global setting), "lf", "crlf", or "native" (platform default)
# This does not affect Serena's own files (e.g. memories and configuration files), which always use native line endings.
line_ending:

# The language backend to use for this project.
# If not set, the global setting from serena_config.yml is used.
# Valid values: LSP, JetBrains
# Note: the backend is fixed at startup. If a project with a different backend
# is activated post-init, an error will be returned.
language_backend:

# whether to use project's .gitignore files to ignore files
ignore_all_files_in_gitignore: true

# advanced configuration option allowing to configure language server-specific options.
# Maps the language key to the options.
# Have a look at the docstring of the constructors of the LS implementations within solidlsp (e.g., for C# or PHP) to see which options are available.
# No documentation on options means no options are available.
ls_specific_settings: {}

# list of additional workspace folder paths for cross-package reference support (e.g. in monorepos).
# Paths can be absolute or relative to the project root.
# Each folder is registered as an LSP workspace folder, enabling language servers to discover
# symbols and references across package boundaries.
# Currently supported for: TypeScript.
# Example:
# additional_workspace_folders:
# - ../sibling-package
# - ../shared-lib
additional_workspace_folders: []

# list of additional paths to ignore in this project.
# Same syntax as gitignore, so you can use * and **.
# Note: global ignored_paths from serena_config.yml are also applied additively.
ignored_paths: []

# whether the project is in read-only mode
# If set to true, all editing tools will be disabled and attempts to use them will result in an error
# Added on 2025-04-18
read_only: false

# list of tool names to exclude.
# This extends the existing exclusions (e.g. from the global configuration)
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
excluded_tools: []

# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default).
# This extends the existing inclusions (e.g. from the global configuration).
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
included_optional_tools: []

# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
# This cannot be combined with non-empty excluded_tools or included_optional_tools.
# Find the list of tools here: https://oraios.github.io/serena/01-about/035_tools.html
fixed_tools: []

# list of mode names that are to be activated by default, overriding the setting in the global configuration.
# The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes.
# If the setting is undefined/empty, the default_modes from the global configuration (serena_config.yml) apply.
# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
# Therefore, you can set this to [] if you do not want the default modes defined in the global config to apply
# for this project.
# This setting can, in turn, be overridden by CLI parameters (--mode).
# See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
default_modes:

# list of mode names to be activated additionally for this project, e.g. ["query-projects"]
# The full set of modes to be activated is base_modes (from global config) + default_modes + added_modes.
# See https://oraios.github.io/serena/02-usage/050_configuration.html#modes
added_modes:

# initial prompt for the project. It will always be given to the LLM upon activating the project
# (contrary to the memories, which are loaded on demand).
initial_prompt: ""

# time budget (seconds) per tool call for the retrieval of additional symbol information
# such as docstrings or parameter information.
# This overrides the corresponding setting in the global configuration; see the documentation there.
# If null or missing, use the setting from the global configuration.
symbol_info_budget:

# list of regex patterns which, when matched, mark a memory entry as read‑only.
# Extends the list from the global configuration, merging the two lists.
read_only_memory_patterns: []

# list of regex patterns for memories to completely ignore.
# Matching memories will not appear in list_memories or activate_project output
# and cannot be accessed via read_memory or write_memory.
# To access ignored memory files, use the read_file tool on the raw file path.
# Extends the list from the global configuration, merging the two lists.
# Example: ["_archive/.*", "_episodes/.*"]
ignored_memory_patterns: []
1 change: 0 additions & 1 deletion .tool-versions

This file was deleted.

Loading
Loading