Skip to content

Dev to Main January 4 2026#942

Merged
maxachis merged 24 commits intomainfrom
dev
Feb 16, 2026
Merged

Dev to Main January 4 2026#942
maxachis merged 24 commits intomainfrom
dev

Conversation

@maxachis
Copy link
Copy Markdown
Contributor

@maxachis maxachis commented Jan 4, 2026

Connected PRs

File Change Summary

Documentation

  • CLAUDE.md — New file with project conventions for Claude Code (+176)
  • docs/ — New centralized documentation hub: architecture overview, API docs (overview, authentication, endpoints), development guides (setup, database, testing, workflow), and troubleshooting (+860 across 9 files)
  • CONTRIBUTING.md — Rewritten to reflect current workflow and tooling (+38/−52)
  • README.md — Slimmed down to quick-start with links to new docs (+32/−64)

Data Source Duplicates Removal (#767)

  • endpoints/instantiations/source_collector/data_sources/duplicates/ — Removed dto, schemas, and wrapper (−67 across 4 files)
  • endpoints/instantiations/source_collector/routes.py — Removed duplicate-check route (+1/−27)
  • endpoints/schema_config/enums.py — Removed duplicate-related enum entries (−4)
  • endpoints/schema_config/instantiations/source_collector/duplicates.py — Deleted (−16)
  • tests/integration/source_collector/data_sources/test_duplicates.py — Deleted (−28)

URL Validation Error Messages (#906)

  • endpoints/instantiations/data_sources_/post/request_/model.py — Added Pydantic field validator to reject URLs with fragments (+12/−1)
  • endpoints/instantiations/data_sources_/post/request_/query.py — IntegrityError handling for constraint violations (+22/−8)
  • middleware/schema_and_dto/dynamic/schema/request_content_population_/helpers.py — Added Pydantic ValidationError handling (+17/−8)
  • tests/integration/data_sources/post/test_error_cases.py — New comprehensive error case tests (+78)

Access Log Filtering (#937)

  • middleware/access_log_filter.py — New middleware to suppress Playwright test access logs (+37)
  • tests/middleware/test_access_log_filter.py — Tests for the new filter (+97)
  • app.py — Integrated the access log filter middleware (+9/−1)

Test Reliability (#779)

  • tests/conftest.py — Removed redundant fixtures (−13)
  • tests/helpers/wipe.py — Expanded cleanup with additional tables (+3)
  • tests/helpers/helper_classes/MultiLocationSetup.py — Explicitly create Pittsburgh locality (+9)
  • tests/helpers/helper_classes/test_data_creator/db_client_/core.py — Delegate to centralized cleanup (+3/−30)
  • tests/helpers/helper_classes/RequestValidator.py — Simplified (+1/−11)
  • tests/integration/notifications/pending_to_queue/location/manager.py — Defer data creation for fixture ordering (+24/−9)
  • Various test files — Remove redundant cleanup calls and imports (minor removals across 10 files)

Other

  • .gitignore — Added .vscode/ and .claude/ (+7/−1)
  • endpoints/v3/source_manager/sync/ — Minor follows query and route adjustments (+9/−6)
  • middleware/primary_resource_logic/admin.py — Removed unused import (−1)
  • .github/CODEOWNERS — Added @maxachis as code owner
  • tests/test_database.py — Fix module-level dict mutation in fixture (+4/−4)

labradorite-dev and others added 2 commits February 1, 2026 09:32
- Add Pydantic field validator to reject URLs with fragments (#)
- Handle IntegrityError to distinguish between constraint violations
- Return 400 Bad Request for URLs with fragments
- Return 409 Conflict for duplicate URL/record_type combinations
- Add Pydantic ValidationError handling in request middleware
- Add comprehensive integration tests for error cases

Database check constraints (23514) and unique constraints (23505) are
now caught and converted to user-friendly error messages instead of
generic 500 errors.

All tests passing (9/9 data source integration tests).

Fixes #906
maxachis and others added 12 commits February 10, 2026 18:18
Create docs/ directory with architecture overview, API docs (overview,
authentication, endpoints), development guides (setup, database, testing,
workflow), and troubleshooting. Slim down README.md to a quick-start
with links to the new docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…dd-documentation-hub

docs: add centralized documentation hub
…rors

fix: add helpful error messages for URL validation
Use getattr to safely access sqlstate on IntegrityError.orig, which is
typed as BaseException but is a psycopg3 exception at runtime. Also add
pre-commit checks section to CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sedpyright-sqlstate-type-error

fix: resolve basedpyright type errors for sqlstate access
Add middleware that detects the X-Test-Run header from Playwright tests
and suppresses their uvicorn access log entries, reducing log volume
from ~450MB/month to ~50MB/month on Papertrail.

Closes #937

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…uppress-test-access-logs

feat: suppress access logs for Playwright test requests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…update-gitignore

chore: add .vscode and .claude to .gitignore
Resolves #823. Rewrites CONTRIBUTING.md to reflect current practices:
- Remove outdated Sandbox/Stage database sections and admin credentials info
- Remove redundant Testing, Linting, and Type Checking sections (now in docs/)
- Add development workflow describing the PR process (feature branch -> dev -> main)
- Add pre-push checklist with current tools (uv, ruff, basedpyright)
- Link to detailed docs for setup, testing, workflow, and design principles
- Fix circular back-reference in docs/development/testing.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…pdate-contributing

docs: update CONTRIBUTING.md with current workflow and tooling
…dant fixtures (#779)

- Expand wipe_database() with change_log, table_count_log, notification_log tables
- Make clear_test_data() delegate to wipe_database() for centralized cleanup
- Fix module-level dict mutation in test_database.py setup_fake_locations fixture
- Remove redundant dev_db_client and clear_data_requests fixtures from conftest
- Remove redundant clear_test_data() and wipe_database() calls in tests that
  already receive auto-cleaning fixtures
- Fix MultiLocationSetup to explicitly create Pittsburgh locality
- Defer data creation in notification location manager to avoid fixture ordering issues

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…duce-test-interference

fix: reduce test interference (#779)
@maxachis maxachis merged commit 67725b1 into main Feb 16, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants