From 9985de1b942546ad757b2f7b4af4cc381a23b1cd Mon Sep 17 00:00:00 2001 From: Scott Converse Date: Tue, 8 Sep 2026 11:38:15 -0600 Subject: [PATCH 1/2] fix: repoint CivicSuite org references to townlight (post org-transfer) The repos moved from the CivicSuite org to townlight on 2026-08-12. This sweeps live code, workflows, scripts, install docs, and the tests that assert the civiccore wheel URL from github.com/CivicSuite/* to the townlight/* homes (civiccore -> core, civicclerk -> meetings, civiccode -> ordinances, civicrecords-ai -> sunshine). Left as-is on purpose: CHANGELOG.md, docs/audits and docs/evidence, tier1-retrofit-ledger.json, release_provenance fixtures, and every Sigstore workflow identity or --repo used to verify attestations that were signed under the CivicSuite identity before the transfer. Supersedes #12. Co-Authored-By: Claude Fable 5.1 --- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/workflows/verify.yml | 2 +- README.md | 2 +- README.txt | 2 +- USER-MANUAL.md | 2 +- USER-MANUAL.txt | 2 +- docs/github-discussions-seed.md | 2 +- pyproject.toml | 2 +- tests/test_runtime_foundation.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 9f1b681..aa64ffb 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: true contact_links: - name: Security reports - url: https://github.com/CivicSuite/civicaccess/security/policy + url: https://github.com/townlight/access/security/policy about: Report vulnerabilities privately. diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 874722b..4dc7bb9 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -27,7 +27,7 @@ jobs: with: python-version: "3.11" - name: Install CivicCore release wheel - run: python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl + run: python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl - name: Install package run: python -m pip install -e ".[dev]" - name: Assert CivicCore release version diff --git a/README.md b/README.md index 3d55b01..471d47e 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ Persistence-write routes require the trusted-write token (constant-time compare, ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 -python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl +python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl python -m pip install -e ".[dev]" python -m pytest -q # Full release gate (requires a real PostgreSQL): diff --git a/README.txt b/README.txt index 89b9a24..baea445 100644 --- a/README.txt +++ b/README.txt @@ -76,7 +76,7 @@ Security: Developer quickstart: python -m venv .venv .\.venv\Scripts\Activate.ps1 - python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl + python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl python -m pip install -e ".[dev]" python -m pytest -q # Full release gate (requires a real PostgreSQL): diff --git a/USER-MANUAL.md b/USER-MANUAL.md index 357763e..6a550ab 100644 --- a/USER-MANUAL.md +++ b/USER-MANUAL.md @@ -200,7 +200,7 @@ Readiness: poll `GET /ready` (or `/api/v1/civicaccess/readiness`) — `ready` wh Local verification (mirrors CI; the release gate requires a real PostgreSQL): ```bash -python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl +python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl python -m pip install -e ".[dev]" # Release gate (requires Postgres): export CIVICACCESS_POSTGRES_TEST_URL="postgresql+psycopg2://USER:PW@HOST:PORT/DB" diff --git a/USER-MANUAL.txt b/USER-MANUAL.txt index 59b123a..5ef481a 100644 --- a/USER-MANUAL.txt +++ b/USER-MANUAL.txt @@ -131,7 +131,7 @@ Operations Readiness: poll GET /ready (or /api/v1/civicaccess/readiness) - ready when the schema can be created and verified. Local verification (the release gate requires a real PostgreSQL): - python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl + python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl python -m pip install -e ".[dev]" export CIVICACCESS_POSTGRES_TEST_URL="postgresql+psycopg2://USER:PW@HOST:PORT/DB" bash scripts/verify-release.sh diff --git a/docs/github-discussions-seed.md b/docs/github-discussions-seed.md index 35a4b1a..a09dcad 100644 --- a/docs/github-discussions-seed.md +++ b/docs/github-discussions-seed.md @@ -61,7 +61,7 @@ City-core hardening (closes probe gaps #2/#3/#4): ### Running it locally & the release gate ```bash -python -m pip install https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl +python -m pip install https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl python -m pip install -e ".[dev]" python -m pytest -q # Full release gate requires a real PostgreSQL: diff --git a/pyproject.toml b/pyproject.toml index 84f1eac..24828c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ authors = [ { name = "CivicSuite contributors" } ] dependencies = [ - "civiccore @ https://github.com/CivicSuite/civiccore/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl#sha256=a94ce958e36fb03c8d961e4db4672ce5bcfa25765c57d75886e999cf15703ec7", + "civiccore @ https://github.com/townlight/core/releases/download/v1.2.0/civiccore-1.2.0-py3-none-any.whl#sha256=a94ce958e36fb03c8d961e4db4672ce5bcfa25765c57d75886e999cf15703ec7", "fastapi>=0.115.0,<1.0.0", "psycopg2-binary>=2.9.0,<3.0.0", "sqlalchemy>=2.0.0,<3.0.0", diff --git a/tests/test_runtime_foundation.py b/tests/test_runtime_foundation.py index ad9988b..dc14593 100644 --- a/tests/test_runtime_foundation.py +++ b/tests/test_runtime_foundation.py @@ -20,7 +20,7 @@ def test_pyproject_uses_published_civiccore_release_wheel() -> None: assert data["tool"]["hatch"]["metadata"]["allow-direct-references"] is True assert ( - "civiccore @ https://github.com/CivicSuite/civiccore/releases/download/" + "civiccore @ https://github.com/townlight/core/releases/download/" "v1.2.0/civiccore-1.2.0-py3-none-any.whl#sha256=a94ce958e36fb03c8d961e4db4672ce5bcfa25765c57d75886e999cf15703ec7" ) in dependencies assert "civiccore==1.1.0" not in dependencies From 9e1ebca9cf0b69a5eca0a76ea71703488034a4d6 Mon Sep 17 00:00:00 2001 From: Scott Converse Date: Tue, 8 Sep 2026 11:42:54 -0600 Subject: [PATCH 2/2] chore(lint): pin ruff to 0.15.21 so verify does not drift with upstream releases The dev extra allowed any ruff >= 0.11.0. ruff 0.16.6 (current) reports new I001 import-order and other findings on code that passed when main was last verified on 2026-06-29; the required verify check therefore fails on every new PR regardless of its content. Pin the version that the code passes under (0.15.21, the same pin sunshine already uses). Verified locally: ruff 0.15.21 -> 0 errors, 0.16.6 -> failures. Ruff modernization is a separate change. Co-Authored-By: Claude Fable 5.1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 24828c8..4a4fd5f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ dev = [ "build>=1.2.0,<2.0.0", "httpx>=0.27.0,<1.0.0", "pytest>=8.0.0,<9.0.0", - "ruff>=0.11.0", + "ruff==0.15.21", ] [tool.pytest.ini_options]