Conversation
…_get_user_follows_bug Fix bug and add basic query test
…_get_user_follows_bug mc_435_get_user_follows_bug
…_remove_data_source_duplicates_check mc_767_remove_data_source_duplicates_check
- 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
josh-chamberlain
previously approved these changes
Feb 10, 2026
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>
josh-chamberlain
previously approved these changes
Feb 11, 2026
…duce-test-interference fix: reduce test interference (#779)
josh-chamberlain
approved these changes
Feb 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Connected PRs
File Change Summary
Documentation
Data Source Duplicates Removal (#767)
URL Validation Error Messages (#906)
Access Log Filtering (#937)
Test Reliability (#779)
Other
.vscode/and.claude/(+7/−1)