Skip to content

Feature/phase2 oauth scopes ratelimit audit - #35

Merged
Ciprian-LocalPulse merged 4 commits into
mainfrom
feature/phase2-oauth-scopes-ratelimit-audit
Sep 8, 2026
Merged

Ciprian-LocalPulse merged 4 commits into
mainfrom
feature/phase2-oauth-scopes-ratelimit-audit

Conversation

@Ciprian-LocalPulse

Copy link
Copy Markdown
Owner

Summary

Describe the behavior and why it is needed.

Verification

  • ruff check .
  • pytest
  • mypy src/medintelos
  • npm test when contracts changed

Risk Review

  • No real patient data, credentials, private keys, or restricted terminology
  • Security and privacy impact considered
  • Clinical assumptions and primary sources documented when applicable
  • Backward compatibility or migration impact described

- Add PostgresFHIRStore behind the existing FHIRStore interface
- Add Alembic migrations
- Add docker-compose.postgres.yml opt-in override
- Fix blocking store calls in async routes (run_in_threadpool)
- Fix deprecated @app.on_event -> lifespan
- Add integration tests run against a real Postgres in CI
- Add OIDCAuthenticator (RS256 JWT vs JWKS) alongside API-key auth
- Add SMART v1-style scope enforcement on FHIR routes
- Add token-bucket rate limiting middleware
- Add PostgresAuditChain (durable, advisory-lock-serialized)
- Fix inconsistent ruff B008 firing on Depends() via extend-immutable-calls
- 52/52 tests passing, including Postgres concurrency test
@Ciprian-LocalPulse
Ciprian-LocalPulse merged commit d3a8480 into main Sep 8, 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.

1 participant