core-framework 2.3.2__tar.gz → 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/sync-host-rules/SKILL.md +11 -0
- core_framework-3.0.0/.github/ci/package-lock.json +6064 -0
- core_framework-3.0.0/.github/ci/package.json +7 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.github/workflows/_deploy.yml +42 -12
- core_framework-3.0.0/.github/workflows/dev-ci-cd.yaml +236 -0
- core_framework-3.0.0/.github/workflows/manual-deployment.yaml +53 -0
- core_framework-3.0.0/.github/workflows/publish-pypi.yml +38 -0
- core_framework-3.0.0/.github/workflows/test.yaml +170 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.gitignore +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.pre-commit-config.yaml +24 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/CHANGELOG.md +82 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/PKG-INFO +11 -11
- core_framework-3.0.0/alembic/analytics/alembic/versions/2d61a5e88d76_analytics_utm_events_add_kind.py +36 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/config.toml.template +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/moderation/router.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/outbox/router.py +4 -14
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/router.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/attachments/router.py +2 -10
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/dependencies.py +4 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/events/schemas.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/router.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/system/router.py +0 -12
- core_framework-3.0.0/core_framework/api/upload.py +11 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/router.py +3 -19
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/registry.py +1 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/auth_service.py +3 -1
- core_framework-3.0.0/core_framework/application/auth/token_verification.py +29 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/bootstrap.py +16 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/authenticated_service.py +8 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/README.md +3 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/event_service.py +26 -6
- core_framework-3.0.0/core_framework/application/events/utm_capture_kinds.py +30 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/attachment_read.py +8 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/attachment_service.py +8 -5
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/avatar_service.py +0 -6
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/moderator_service.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/user_service.py +22 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/mute_service.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/ops_service.py +0 -5
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/polling_service.py +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/processing_service.py +4 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/authenticated_service.py +29 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/admin_service.py +7 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/authenticated_service.py +3 -7
- core_framework-3.0.0/core_framework/constants.py +15 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/cache.py +5 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/pagination.py +8 -7
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/settings.py +70 -17
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/README.md +3 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/__init__.py +4 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/constants.py +4 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/repository.py +5 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/service.py +17 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/README.md +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/ports/auth.py +7 -6
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/service.py +2 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/dependencies.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/repository.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/service.py +40 -5
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/README.md +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/finals_publisher.py +5 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/staging.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/staging.py +0 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/finals_publisher.py +5 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/staging.py +0 -1
- core_framework-3.0.0/core_framework/domains/media/banner/components/finals_publisher.py +41 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/components/staging.py +45 -15
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/components/variant_encoder.py +11 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/staging.py +0 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/service.py +72 -78
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/dependencies.py +3 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/exceptions.py +5 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/utils.py +13 -11
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/dependencies.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/repository.py +40 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/service.py +29 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/dependencies.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/README.md +5 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/__init__.py +2 -0
- core_framework-3.0.0/core_framework/domains/outbox/exceptions.py +10 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/models.py +2 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/producer.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/service.py +0 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/__init__.py +2 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/dependencies.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/outcomes.py +5 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/repository.py +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/service.py +28 -1
- core_framework-3.0.0/core_framework/domains/repository_sql.py +44 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/dependencies.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outcomes.py +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/repository.py +11 -5
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/service.py +33 -13
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/utils.py +4 -44
- core_framework-3.0.0/core_framework/infrastructure/__init__.py +0 -0
- core_framework-3.0.0/core_framework/infrastructure/firebase/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/firebase/firebase_auth_adapter.py +8 -4
- core_framework-3.0.0/core_framework/infrastructure/media/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/local_attachment_staging_adapter.py +2 -1
- core_framework-2.3.2/core_framework/infrastructure/media/local_staging_adapter.py → core_framework-3.0.0/core_framework/infrastructure/media/local_avatar_staging_adapter.py +2 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/local_banner_staging_adapter.py +35 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_attachment_finals_publisher_adapter.py +2 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_banner_finals_publisher_adapter.py +19 -11
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_finals_publisher_adapter.py +2 -0
- core_framework-3.0.0/core_framework/infrastructure/media/staging_paths.py +46 -0
- core_framework-3.0.0/core_framework/infrastructure/outbox/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/outbox/outbox_consumer_adapter.py +4 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/outbox/outbox_producer_adapter.py +3 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/main.py +2 -36
- core_framework-3.0.0/core_framework/worker/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/main.py +43 -27
- core_framework-3.0.0/core_framework/worker/schedules/__init__.py +130 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/analytics_refresh_cron.py +3 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_media_asset_variants.py +0 -6
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_mute_lift.py +3 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/dockerfile +10 -6
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/README.md +2 -0
- core_framework-3.0.0/docs/deployments/README.md +52 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/deploy-playbook.md +21 -16
- core_framework-3.0.0/docs/deployments/edge-rate-limits.md +63 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/edge-upload-limits.md +16 -13
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/examples/Caddyfile.example +19 -1
- core_framework-3.0.0/docs/deployments/guides/playbook/postgres-backup-playbook.md +303 -0
- core_framework-3.0.0/docs/deployments/guides/playbook/py-spy-playbook.md +203 -0
- core_framework-3.0.0/docs/deployments/guides/setup/app-server-deploy-ssh.md +72 -0
- core_framework-3.0.0/docs/deployments/guides/setup/caddy-setup.md +56 -0
- core_framework-3.0.0/docs/deployments/guides/setup/cloudflare-setup.md +103 -0
- core_framework-3.0.0/docs/deployments/guides/setup/image-server-ssh.md +99 -0
- core_framework-3.0.0/docs/deployments/guides/setup/postgres-backup-setup.md +323 -0
- {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/postgres-setup.md +6 -2
- core_framework-3.0.0/docs/deployments/guides/setup/py-spy-setup.md +42 -0
- {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/redis-setup.md +2 -2
- {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/ubuntu-server-setup.md +4 -4
- core_framework-3.0.0/docs/deployments/postgres-backup-design.md +176 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/README.md +10 -10
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/create-idempotency-design.md +9 -9
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/event-outbox-design.md +8 -8
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/events-ingest-design.md +46 -20
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/media-storage-topology.md +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/outbox-admin-ops-design.md +17 -14
- core_framework-3.0.0/docs/design/utm-events-design.md +272 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/README.md +1 -1
- core_framework-3.0.0/docs/domains/auth/access_control.md +70 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/auth/registration.md +5 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/create_comment.md +6 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/edit_comment.md +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/posts.md +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/events/events.md +41 -27
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/banner-upload-design.md +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/post-comment-attachments-design.md +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/upload-pipeline-design.md +9 -8
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/restrictions.md +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/outbox/admin_outbox_ops.md +6 -3
- core_framework-3.0.0/docs/domains/posts/README.md +34 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/create_post.md +6 -3
- core_framework-3.0.0/docs/domains/posts/delete_post.md +64 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/account_deletion.md +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/admin_users.md +2 -2
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/check_username_exists.md +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/user_stats_aggregation.md +1 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/capability-wiring.md +17 -13
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/core-framework-migration.md +4 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/overview.md +13 -12
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/package-api.md +229 -37
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/workers.md +5 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/architecture-decisions.md +3 -3
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/client-error-visibility.md +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/domain-services-and-adapters.md +5 -5
- core_framework-3.0.0/docs/reviews/README.md +11 -0
- core_framework-3.0.0/docs/reviews/log.md +12 -0
- core_framework-3.0.0/docs/reviews/review-playbook.md +191 -0
- core_framework-3.0.0/docs/reviews/slices.md +290 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/todo.md +0 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/makefile +0 -4
- {core_framework-2.3.2 → core_framework-3.0.0}/pyproject.toml +19 -17
- core_framework-3.0.0/tests/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_settings.py +1 -1
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/system_test.py +0 -1
- core_framework-3.0.0/tests/integration/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/analytics/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/cache/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/comments/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/moderation/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/outbox/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/outbox/router_test.py +9 -4
- core_framework-3.0.0/tests/integration/api/admin/posts/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/admin/users/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/auth/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/comments/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/comments/authenticated/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/comments/public/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/events/router_test.py +224 -8
- core_framework-3.0.0/tests/integration/api/notifications/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/posts/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/posts/public/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/system/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/system/router_test.py +3 -3
- core_framework-3.0.0/tests/integration/api/users/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/users/authenticated/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/api/users/public/__init__.py +0 -0
- core_framework-3.0.0/tests/integration/worker/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/mute_lift_test.py +3 -5
- core_framework-3.0.0/tests/unit/__init__.py +0 -0
- core_framework-3.0.0/tests/unit/application/comments/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/pagination_test.py +4 -3
- core_framework-3.0.0/tests/unit/domains/__init__.py +0 -0
- core_framework-3.0.0/tests/unit/domains/comment/__init__.py +0 -0
- core_framework-3.0.0/tests/unit/infrastructure/__init__.py +0 -0
- core_framework-3.0.0/tests/unit/infrastructure/media/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/uv.lock +196 -136
- core_framework-2.3.2/.github/workflows/dev-ci-cd.yaml +0 -162
- core_framework-2.3.2/.github/workflows/manual-deployment.yaml +0 -36
- core_framework-2.3.2/.github/workflows/publish-pypi.yml +0 -34
- core_framework-2.3.2/.github/workflows/test.yaml +0 -109
- core_framework-2.3.2/core_framework/constants.py +0 -5
- core_framework-2.3.2/core_framework/domains/media/banner/components/finals_publisher.py +0 -27
- core_framework-2.3.2/core_framework/worker/schedules/__init__.py +0 -125
- core_framework-2.3.2/docs/deployments/README.md +0 -35
- core_framework-2.3.2/docs/deployments/guides/app-server-deploy-ssh.md +0 -55
- core_framework-2.3.2/docs/deployments/guides/image-server-ssh.md +0 -62
- core_framework-2.3.2/docs/design/utm-events-design.md +0 -233
- core_framework-2.3.2/docs/domains/auth/access_control.md +0 -59
- core_framework-2.3.2/docs/domains/posts/README.md +0 -33
- {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/fastapi +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/library-skills/.library-skills.json +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/library-skills/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/alembic-migrations.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-layer.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-reference-docs.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-validation.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/application-layer.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/constants-final.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/constitution.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/database-triggers.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/docstrings.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-caller-context.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-imports.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-input-guards.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-repository-exceptions.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-services-and-adapters.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/error-boundary.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/flow-documentation.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/inline-raise-messages.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/integration-test-strategy.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/layer-boundaries.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/no-code-in-docs.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/postgres-config-conventions.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/repository-schema-isolation.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/strong-reads.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/structured-logging.mdc +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/add-config/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/add-domain/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/code-review/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/fastapi +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/implement-feature/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/recommend-features/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/write-flow-doc/SKILL.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.dockerignore +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/.python-version +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/LICENSE +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/585105e1149e_analytics_add_utm_events.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/5b9ac98bb150_analytics_daily_fact.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/7f2a9c1d4e8b_analytics_daily_fact_day_index.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_attachments.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_create_idempotency.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_create_idempotency_created_at_index.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_mentions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_tombstone_status_model.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/v1_comment_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/versions/v1_ext_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_add_attachment_staging_registry.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_add_banner_staging_and_lease.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_attachment_staging_registry_published_at.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/v1_media_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/moderation_add_event_outbox.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/moderation_add_event_outbox_dead_indexes.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/moderation_add_event_outbox_pending_created_at_index.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/v1_mod_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/versions/v1_notif_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_attachments.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_create_idempotency.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_create_idempotency_created_at_index.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_mentions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_post_views_retention_high_water_mark.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_tombstone_status_model.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/v1_post_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/README +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/env.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/script.py.mako +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/44df70a45ba6_user_add_signup_events.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_avatar_ingest_sequences.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_banner_ingest_sequences.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_date_of_birth_to_profiles.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_event_outbox.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_event_outbox_dead_indexes.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_event_outbox_pending_created_at_index.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_reserve_sentinel_user_ids.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/v1_user_init_baseline.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic.ini +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/config.toml +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/api/admin/moderation → core_framework-3.0.0/core_framework/api/admin/analytics}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/analytics/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/analytics/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/admin/users → core_framework-3.0.0/core_framework/api/admin/cache}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/cache/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/cache/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/auth → core_framework-3.0.0/core_framework/api/admin/comments}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/comments/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/comments/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/system → core_framework-3.0.0/core_framework/api/admin/moderation}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/moderation/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/users → core_framework-3.0.0/core_framework/api/admin/outbox}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/outbox/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/users/authenticated → core_framework-3.0.0/core_framework/api/admin/posts}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/posts/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/posts/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/api/users/public → core_framework-3.0.0/core_framework/api/admin/users}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/users/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/users/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/application → core_framework-3.0.0/core_framework/api/attachments}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/attachments/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/application → core_framework-3.0.0/core_framework/api}/auth/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/auth/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/auth/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/application/moderation → core_framework-3.0.0/core_framework/api/comments}/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/application/shared → core_framework-3.0.0/core_framework/api/comments/authenticated}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/mappers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/application/users → core_framework-3.0.0/core_framework/api/comments/public}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/public/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/public/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/constants.py +0 -0
- {core_framework-2.3.2/core_framework/domains → core_framework-3.0.0/core_framework/api/events}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/events/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/idempotency/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/idempotency/dependencies.py +0 -0
- {core_framework-2.3.2/core_framework/domains/auth/ports → core_framework-3.0.0/core_framework/api/notifications}/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/domains/media/avatar → core_framework-3.0.0/core_framework/api/notifications/authenticated}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/authenticated/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/authenticated/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/router.py +0 -0
- {core_framework-2.3.2/core_framework/domains/media/avatar/components → core_framework-3.0.0/core_framework/api/posts}/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/domains/media/avatar/ports → core_framework-3.0.0/core_framework/api/posts/authenticated}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/mappers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/domains/media/shared → core_framework-3.0.0/core_framework/api/posts/public}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/public/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/public/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/schemas.py +0 -0
- {core_framework-2.3.2/core_framework/infrastructure → core_framework-3.0.0/core_framework/api/system}/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/infrastructure/firebase → core_framework-3.0.0/core_framework/api/users}/__init__.py +0 -0
- {core_framework-2.3.2/core_framework/infrastructure/media → core_framework-3.0.0/core_framework/api/users/authenticated}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/mappers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/mappers.py +0 -0
- {core_framework-2.3.2/core_framework/worker → core_framework-3.0.0/core_framework/api/users/public}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/public/router.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/public/schemas.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/router.py +0 -0
- {core_framework-2.3.2/tests → core_framework-3.0.0/core_framework/api/users/shared}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/shared/schemas.py +0 -0
- {core_framework-2.3.2/tests/integration → core_framework-3.0.0/core_framework/application}/__init__.py +0 -0
- {core_framework-2.3.2/tests/integration/api → core_framework-3.0.0/core_framework/application/analytics}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/bucket_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/prune_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/read_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/refresh_service.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application/analytics/sources}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/comment_created.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/post_created.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/post_viewed.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/user_registered.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin/analytics → core_framework-3.0.0/core_framework/application/auth}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/access_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/models.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application}/cache/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/cache/invalidate_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/cache/models.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application}/comments/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/admin_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/aggregation_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/cleanup_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/public_service.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin/moderation → core_framework-3.0.0/core_framework/application/events}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/event_token.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/README.md +0 -0
- {core_framework-2.3.2/tests/integration/api/admin/outbox → core_framework-3.0.0/core_framework/application/media}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/banner_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/ingest_guards.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/read_url_config.py +0 -0
- {core_framework-2.3.2/tests/integration/api/admin/posts → core_framework-3.0.0/core_framework/application/moderation}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/appeal_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/report_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/scheduled_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/README.md +0 -0
- {core_framework-2.3.2/tests/integration/api/admin/users → core_framework-3.0.0/core_framework/application/notifications}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/inbox_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/notification_service.py +0 -0
- {core_framework-2.3.2/tests/integration/api/auth → core_framework-3.0.0/core_framework/application/outbox}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/block_mirrors.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/events.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/follow_mirrors.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/handlers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/restriction_mirrors.py +0 -0
- {core_framework-2.3.2/tests/integration/api/comments → core_framework-3.0.0/core_framework/application/posts}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/admin_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/aggregation_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/cleanup_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/public_service.py +0 -0
- {core_framework-2.3.2/tests/integration/api/comments/authenticated → core_framework-3.0.0/core_framework/application/shared}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/request_context.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/worker_jobs.py +0 -0
- {core_framework-2.3.2/tests/integration/api/comments/public → core_framework-3.0.0/core_framework/application/users}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/aggregation_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/deletion_audit.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/public_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/scheduled_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/user_deletion_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/asgi.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/bundled_alembic.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/context.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/database.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/application.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/common.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/setup.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/firebase.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/http_client.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/logging.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/middleware.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/observability.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/redis.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/runtime.py +0 -0
- {core_framework-2.3.2/tests/integration/api/notifications → core_framework-3.0.0/core_framework/domains}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/dependencies.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/models.py +0 -0
- {core_framework-2.3.2/tests/integration/api/posts → core_framework-3.0.0/core_framework/domains/analytics/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/ports/activity_source.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/dependencies.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/models.py +0 -0
- {core_framework-2.3.2/tests/integration/api/posts/public → core_framework-3.0.0/core_framework/domains/auth/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/outcomes.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/__init__.py +0 -0
- {core_framework-2.3.2/tests/integration/api/system → core_framework-3.0.0/core_framework/domains/media/attachment}/__init__.py +0 -0
- {core_framework-2.3.2/tests/integration/api/users → core_framework-3.0.0/core_framework/domains/media/attachment/components}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/variant_encoder.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/models.py +0 -0
- {core_framework-2.3.2/tests/integration/api/users/authenticated → core_framework-3.0.0/core_framework/domains/media/attachment/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/finals_publisher.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/variant_encoder.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/service.py +0 -0
- {core_framework-2.3.2/tests/integration/api/users/public → core_framework-3.0.0/core_framework/domains/media/avatar}/__init__.py +0 -0
- {core_framework-2.3.2/tests/integration/worker → core_framework-3.0.0/core_framework/domains/media/avatar/components}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/staging.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/variant_encoder.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/models.py +0 -0
- {core_framework-2.3.2/tests/unit → core_framework-3.0.0/core_framework/domains/media/avatar/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/finals_publisher.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/variant_encoder.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/service.py +0 -0
- {core_framework-2.3.2/tests/unit/application/comments → core_framework-3.0.0/core_framework/domains/media/banner}/__init__.py +0 -0
- {core_framework-2.3.2/tests/unit/domains → core_framework-3.0.0/core_framework/domains/media/banner/components}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/models.py +0 -0
- {core_framework-2.3.2/tests/unit/domains/comment → core_framework-3.0.0/core_framework/domains/media/banner/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/finals_publisher.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/variant_encoder.py +0 -0
- {core_framework-2.3.2/tests/unit/infrastructure → core_framework-3.0.0/core_framework/domains/media/shared}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/outcomes.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/repository.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outbox_repository.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outbox_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outcomes.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/repository.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/dependencies.py +0 -0
- {core_framework-2.3.2/tests/unit/infrastructure/media → core_framework-3.0.0/core_framework/domains/outbox/ports}/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/admin.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/consumer.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/constants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/enums.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/exceptions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/models.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outbox_repository.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outbox_service.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/utils.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/attachment_staging_display_geometry.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_attachment_variant_encoder_adapter.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_avatar_variant_encoder_adapter.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_banner_variant_encoder_adapter.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_staging_image.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/migrate_cli.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/arq.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/auth.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/config.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/containers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/firebase.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/firebase_identity_toolkit.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/hookspecs.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/httpx_test_client.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/media.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/migrations.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/plugin.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_comment_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_post_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_user_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_expired_account_deletions.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_expired_mute_lifts.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_poll_outbox.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_prune_analytics_daily_facts.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_prune_post_views.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_purge_expired_create_idempotency_keys.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_refresh_analytics.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_attachment_staging.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_avatar_staging.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_banner_staging.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/__init__.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_attachment_finals.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_superseded_avatar_finals.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_superseded_banner_finals.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_account_deletion.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_admin_user_deletion.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_comment_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_post_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_user_stats.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_attachment_asset_variants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_banner_asset_variants.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_cache_pattern_invalidation.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_destructive_comment_delete.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_destructive_post_delete.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_outbox_row.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_refresh_analytics_bucket.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_user_content_deletion.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/worker_context.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docker-compose.dev.yaml +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docker-compose.yml +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/e2e-smoke-tests-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/examples/image-server-known-hosts.example +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/release-playbook.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/analytics-rollup-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/cache-invalidation-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/analytics/admin_analytics_reads.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/cache/admin_cache_invalidation.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/admin_comments.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_like.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_report.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_stats_aggregation.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/delete_comment.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/retrieve_comments.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/comments.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/overview.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/users.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/attachment_upload.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/avatar-upload-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/upload_pipeline.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/mentions/mentions_in_content.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/appeals.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/internal_notes.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/moderator_actions.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/reports.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/notifications/notification_inbox.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/admin_posts.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/author_context.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/edit_post.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/hashtag_discovery.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_like.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_report.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_stats_aggregation.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_visibility.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/retrieve_posts.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/account.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/avatar.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/banner.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/blocks.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/change_history.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/follow-system-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/follow.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/my_posts_and_comments.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/preferences.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/profile.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/public_profile.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/user_removal.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/api.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/testing-plugin-design.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/README.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/conventions.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/database-triggers.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/layers-and-boundaries.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/patch-update-typed-payload.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/docs/testing.md +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/firebase_config.example.json +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/conftest.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_auth.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_canaries.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_media.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_upload_payloads.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/conftest.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/media/pipeline_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/canary_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/media_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/tls_host_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/_http_error_details.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/analytics/_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_auth_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_destructive_delete_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_http_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_outbox_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_user_deletion_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_user_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/_auth_cases.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/analytics/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/cache/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/comments/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/moderation/_auth_cases.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/moderation/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/posts/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/users/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/attachments/_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/attachments/attachment_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/auth/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/authenticated/comment_writes_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/comment_attachments_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/public/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/create_idempotency_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/media/ingest_contract_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/mentions/mentions_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/notifications/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/authenticated/post_writes_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/comment_count_aggregation_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/followers_visibility_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_attachments_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_deletion_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_stats_dirty_marking_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/public/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/public_read_by_id_unavailable_detail_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/avatar_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/banner_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/deletion_audit_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/public/router_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/user_deletion_integration_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/_media_upload_helpers.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/account_deletion_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_comment_stats_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_post_stats_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_user_stats_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/analytics_prune_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/analytics_refresh_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/attachment_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/avatar_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/banner_upload_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/conftest.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/create_idempotency_retention_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/moderation_outbox_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/stale_staging_sweep_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/user_outbox_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/utils_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/comments/authenticated/comment_request_schemas_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/dedupe_preserving_order_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/posts/authenticated/post_update_mapper_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/users/profile_update_mapper_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/events/event_service_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/notifications/inbox_service_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/shared/request_context_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/users/deletion_audit_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/bundled_alembic_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/migrate_cli_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/docs/_api_reference.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/docs/api_routes_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/domains/post/models_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/domains/user/service_test.py +0 -0
- {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/infrastructure/media/ssh_finals_publisher_adapter_test.py +0 -0
|
@@ -31,6 +31,17 @@ Diff by **basename** against the host's **`.cursor/`** and applicable **`docs/`*
|
|
|
31
31
|
|
|
32
32
|
**Do not overwrite** host-only rules, skills, or product docs.
|
|
33
33
|
|
|
34
|
+
### `docs/deployments/guides/` layout
|
|
35
|
+
|
|
36
|
+
Core walkthroughs live under **`docs/deployments/guides/setup/`** (one-time install) and **`docs/deployments/guides/playbook/`** (ops / incident runbooks) — not a flat **`guides/`** directory.
|
|
37
|
+
|
|
38
|
+
When syncing **`docs/deployments/`** to a host:
|
|
39
|
+
|
|
40
|
+
1. **Match the directory layout** — create **`guides/setup/`** and **`guides/playbook/`** on the host; move or rewrite files into those paths. Do **not** leave stale flat **`guides/*.md`** copies beside the new tree.
|
|
41
|
+
1. **Basename alone is not enough** — a host may still have **`guides/ubuntu-server-setup.md`** while core has **`guides/setup/ubuntu-server-setup.md`**. Diff by relative path under **`docs/deployments/`**, then port.
|
|
42
|
+
1. **Renames** — e.g. **`postgres-backup-ops.md`** → **`guides/playbook/postgres-backup-playbook.md`**. Delete the old host path after porting.
|
|
43
|
+
1. **Adapt host paths** in playbooks (Compose project dir, image names, **`app_configs/<host>/`**) — keep Henry-specific notes in host **`deploy-playbook.md`** / **`release-playbook.md`**.
|
|
44
|
+
|
|
34
45
|
## Docs boundaries
|
|
35
46
|
|
|
36
47
|
**Core `docs/` must stay host-agnostic** — no references to specific consuming applications.
|