Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .agent-runs/b2-phase2-rehearsal.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CivicRecords AI B2 Phase 2 Rehearsal
# CivicSunshine B2 Phase 2 Rehearsal

Date: 2026-05-11
Branch: master
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bug report
about: Report a defect in CivicRecords AI
about: Report a defect in CivicSunshine
title: "[bug] "
labels: ["bug"]
---
Expand All @@ -20,7 +20,7 @@ labels: ["bug"]
<!-- What actually happened. Include error messages, stack traces, console output. -->

**Environment**
- CivicRecords AI version (`docker compose run --rm api python -c "import app; print(app.__version__)"` or check the admin UI footer):
- CivicSunshine version (`docker compose run --rm api python -c "import app; print(app.__version__)"` or check the admin UI footer):
- Deployment: Docker Compose / installer / dev clone
- OS: Windows / macOS / Linux (specify version)
- Browser (if frontend issue):
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an enhancement to CivicRecords AI
about: Suggest an enhancement to CivicSunshine
title: "[feat] "
labels: ["enhancement"]
---
Expand Down
4 changes: 2 additions & 2 deletions .github/release-notes-preamble.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## About this release

CivicRecords AI is an open-source, locally-hosted AI system for municipal open-records request processing. Every deployment is a sovereign instance owned by the city — no cloud, no telemetry, no outbound data transfer.
CivicSunshine is an open-source, locally-hosted AI system for municipal open-records request processing. Every deployment is a sovereign instance owned by the city — no cloud, no telemetry, no outbound data transfer.

**Windows installer is UNSIGNED by design.** On first run, Windows SmartScreen will show "Windows protected your PC — Unknown publisher." To proceed: click **More info** → **Run anyway**, then confirm UAC. See [installer/windows/README.md](../blob/master/installer/windows/README.md) for the full remediation walkthrough.

Expand All @@ -14,7 +14,7 @@ notes and then verify the installer checksum sidecar plus package checksums.

## Downloads

- **Windows double-click installer:** `CivicRecordsAI-<version>-Setup.exe` (bundled with `.sha256` checksum sidecar for `Get-FileHash` verification).
- **Windows double-click installer:** `CivicSunshine-<version>-Setup.exe` (bundled with `.sha256` checksum sidecar for `Get-FileHash` verification).
- **Python package assets:** `civicrecords_ai-<version>-py3-none-any.whl`, `civicrecords_ai-<version>.tar.gz`, and `SHA256SUMS.txt` for direct-pip release URL consumers.
- **Linux / macOS guided-script install:** clone the repo at this tag and run `./install.sh` — see [README.md](../blob/master/README.md) and [USER-MANUAL.md](../blob/master/USER-MANUAL.md) for prerequisites and a step-by-step walkthrough.

Expand Down
2 changes: 1 addition & 1 deletion .github/release-notes-v15-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cosign verify-blob release-attestation.json \
--certificate-identity "https://github.com/${REPO}/.github/workflows/release.yml@refs/tags/${TAG}" \
--certificate-oidc-issuer https://token.actions.githubusercontent.com

sha256sum -c CivicRecordsAI-${VERSION}-Setup.exe.sha256
sha256sum -c CivicSunshine-${VERSION}-Setup.exe.sha256
sha256sum -c SHA256SUMS.txt
python scripts/verify-release-provenance.py "${TAG}" \
--repo "${REPO}" \
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# CivicRecords AI — release-on-tag workflow (T5E).
# CivicSunshine — release-on-tag workflow (T5E).
#
# UNSIGNED BY DESIGN. Scott locked T5E signing posture = α (unsigned)
# on 2026-04-22. This workflow contains no code-signing steps and
# references no signing-cert secrets. A future release can add signing
# without changing the structure.
#
# Adapted from patentforgelocal/.github/workflows/release.yml (Inno Setup
# + choco + bash build driver shape). CivicRecords-specific deltas:
# - No Go/Node/Python build steps (CivicRecords runs in Docker; the
# + choco + bash build driver shape). CivicSunshine-specific deltas:
# - No Go/Node/Python build steps (CivicSunshine runs in Docker; the
# installer bundles source, not compiled binaries).
# - Windows-only for now; mac/Linux stay on the existing guided-script
# install path. Cross-platform parity is documented as follow-on.
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
expected = "${VERSION}"
print(f"app.config.APP_VERSION={APP_VERSION}")
if APP_VERSION != expected:
raise SystemExit(f"Expected CivicRecords AI {expected}, got {APP_VERSION}")
raise SystemExit(f"Expected CivicSunshine {expected}, got {APP_VERSION}")
print(f"civiccore dependency import ok: {ingest_file.__name__}, {OllamaProvider.__name__}")
PY

Expand Down Expand Up @@ -241,7 +241,7 @@ jobs:
# the build driver used. If this file is missing, the build
# driver did not produce what the .iss OutputBaseFilename claims,
# and that is the defect — not a workflow config issue.
ART="build/CivicRecordsAI-${CIVICRECORDS_VERSION}-Setup.exe"
ART="build/CivicSunshine-${CIVICRECORDS_VERSION}-Setup.exe"
if [ ! -f "$ART" ]; then
echo "ERROR: expected installer artifact not found: $ART"
echo "Contents of build/:"
Expand Down Expand Up @@ -377,12 +377,12 @@ jobs:
gh release create "${{ github.ref_name }}" \
--draft \
--generate-notes \
--title "CivicRecords AI ${{ github.ref_name }}" \
--title "CivicSunshine ${{ github.ref_name }}" \
--notes-file release-notes.md || \
gh release create "${{ github.ref_name }}" \
--draft \
--generate-notes \
--title "CivicRecords AI ${{ github.ref_name }}" \
--title "CivicSunshine ${{ github.ref_name }}" \
--notes-file release-notes.md

- name: Upload release assets
Expand All @@ -395,8 +395,8 @@ jobs:
# actions/download-artifact@v8, not at the top of the artifact
# directory. Locate via `find` so this step is robust to either
# layout and produces an actionable error if nothing matches.
EXE=$(find artifacts -name 'CivicRecordsAI-*-Setup.exe' -type f | head -1)
SHA=$(find artifacts -name 'CivicRecordsAI-*-Setup.exe.sha256' -type f | head -1)
EXE=$(find artifacts -name 'CivicSunshine-*-Setup.exe' -type f | head -1)
SHA=$(find artifacts -name 'CivicSunshine-*-Setup.exe.sha256' -type f | head -1)
WHEEL=$(find artifacts -name 'civicrecords_ai-*-py3-none-any.whl' -type f | head -1)
SDIST=$(find artifacts -name 'civicrecords_ai-*.tar.gz' -type f | head -1)
SUMS=$(find artifacts -name 'SHA256SUMS.txt' -type f | head -1)
Expand Down Expand Up @@ -480,7 +480,7 @@ jobs:
VERSION="${GITHUB_REF_NAME#v}"
WHEEL="$(find .cleanroom-assets -name 'civicrecords_ai-*-py3-none-any.whl' -type f | head -1)"
if [ -z "$WHEEL" ]; then
echo "::error::No CivicRecords AI wheel downloaded from draft release."
echo "::error::No CivicSunshine wheel downloaded from draft release."
exit 1
fi
echo "Cleanroom wheel asset: ${WHEEL}"
Expand All @@ -499,7 +499,7 @@ jobs:
expected = "${VERSION}"
print(f"app.config.APP_VERSION={APP_VERSION}")
if APP_VERSION != expected:
raise SystemExit(f"Expected CivicRecords AI {expected}, got {APP_VERSION}")
raise SystemExit(f"Expected CivicSunshine {expected}, got {APP_VERSION}")
print(f"civiccore dependency import ok: {ingest_file.__name__}, {OllamaProvider.__name__}")
PY

Expand Down
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CivicRecords AI — Development Standards
# CivicSunshine — Development Standards

## Current Governance Override - Agent Pipeline For Codex

Expand All @@ -9,7 +9,7 @@ gates when a run is active.

Before any push, release, or tag, run the relevant repository gates directly
and record the evidence in the active pipeline run when one exists. For
CivicRecords AI, that normally includes recovery gates, release gates,
CivicSunshine, that normally includes recovery gates, release gates,
secret-scan/provenance checks, backend tests, frontend tests, Docker/runtime
proofs for install surfaces, and docs truth checks that match the changed
surface.
Expand All @@ -21,7 +21,7 @@ the pipeline stop controls.

## Historical Retired Rule 0 — CODER-UI-QA-TEST SKILL (superseded)

This retained historical section is superseded by Agent Pipeline for Codex above. Do not load or require the retired `coder-ui-qa-test` skill for current CivicRecords AI work.
This retained historical section is superseded by Agent Pipeline for Codex above. Do not load or require the retired `coder-ui-qa-test` skill for current CivicSunshine work.

## Hard Rule 1 — AUDITOR PROTOCOL (non-negotiable, no exceptions)

Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed
- Renamed the module's public name from CivicRecords AI to **CivicSunshine**
(sunshine laws being exactly this module's domain), avoiding confusion with
an unrelated commercial records-request product marketed as
CivicRecordsOnline. Brand-layer rename: repository (now
`CivicSuite/civicsunshine`, old URLs redirect), display names, docs, manuals,
compliance templates, installer title, and the installer artifact naming
contract (`.iss` + release workflow + release-notes templates move together;
the next release produces `CivicSunshine-<version>-Setup.exe`). Machine
identifiers (package/module ids, env vars, lowercase `civicrecords` URL
slugs) are unchanged in this pass, so existing installs and the suite
installer are unaffected. Historical records (dated audits, QA reports,
reconciliations, handoffs, prior CHANGELOG entries, published release
assets) keep the name they shipped under.

### Security
- Enforced first-login password rotation for the initial administrator account:
the startup-created admin is marked `must_change_password`, staff/admin
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CivicRecords AI — Development Standards
# CivicSunshine — Development Standards

## Hard Rule 0 — CODER-UI-QA-TEST SKILL (load on every coding session, no exceptions)

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to CivicRecords AI
# Contributing to CivicSunshine

Thank you for your interest in contributing to CivicRecords AI. This project helps American cities respond to open records requests using AI-powered document search — contributions that improve accuracy, coverage, or usability directly benefit municipal transparency.
Thank you for your interest in contributing to CivicSunshine. This project helps American cities respond to open records requests using AI-powered document search — contributions that improve accuracy, coverage, or usability directly benefit municipal transparency.

## Development Setup

Expand Down
2 changes: 1 addition & 1 deletion HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CivicRecords AI — Auditor Session Handoff
# CivicSunshine — Auditor Session Handoff

**Date:** 2026-04-17
**Status:** Previous auditor session failed. New session starting with a reorientation prompt. Prior auditor did not apply the `coder-ui-qa-test` skill despite it being available from session start.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ obligations consistent with this License.

END OF TERMS AND CONDITIONS

Copyright 2026 CivicRecords AI Contributors
Copyright 2026 CivicSunshine Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading