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.
Files changed (759) hide show
  1. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/sync-host-rules/SKILL.md +11 -0
  2. core_framework-3.0.0/.github/ci/package-lock.json +6064 -0
  3. core_framework-3.0.0/.github/ci/package.json +7 -0
  4. {core_framework-2.3.2 → core_framework-3.0.0}/.github/workflows/_deploy.yml +42 -12
  5. core_framework-3.0.0/.github/workflows/dev-ci-cd.yaml +236 -0
  6. core_framework-3.0.0/.github/workflows/manual-deployment.yaml +53 -0
  7. core_framework-3.0.0/.github/workflows/publish-pypi.yml +38 -0
  8. core_framework-3.0.0/.github/workflows/test.yaml +170 -0
  9. {core_framework-2.3.2 → core_framework-3.0.0}/.gitignore +1 -0
  10. {core_framework-2.3.2 → core_framework-3.0.0}/.pre-commit-config.yaml +24 -3
  11. {core_framework-2.3.2 → core_framework-3.0.0}/CHANGELOG.md +82 -2
  12. {core_framework-2.3.2 → core_framework-3.0.0}/PKG-INFO +11 -11
  13. core_framework-3.0.0/alembic/analytics/alembic/versions/2d61a5e88d76_analytics_utm_events_add_kind.py +36 -0
  14. {core_framework-2.3.2 → core_framework-3.0.0}/config.toml.template +1 -1
  15. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/moderation/router.py +2 -2
  16. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/outbox/router.py +4 -14
  17. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/router.py +2 -2
  18. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/attachments/router.py +2 -10
  19. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/dependencies.py +4 -4
  20. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/events/schemas.py +1 -1
  21. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/router.py +2 -2
  22. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/system/router.py +0 -12
  23. core_framework-3.0.0/core_framework/api/upload.py +11 -0
  24. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/router.py +3 -19
  25. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/registry.py +1 -2
  26. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/auth_service.py +3 -1
  27. core_framework-3.0.0/core_framework/application/auth/token_verification.py +29 -0
  28. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/bootstrap.py +16 -0
  29. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/authenticated_service.py +8 -0
  30. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/README.md +3 -1
  31. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/event_service.py +26 -6
  32. core_framework-3.0.0/core_framework/application/events/utm_capture_kinds.py +30 -0
  33. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/attachment_read.py +8 -3
  34. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/attachment_service.py +8 -5
  35. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/avatar_service.py +0 -6
  36. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/moderator_service.py +2 -2
  37. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/user_service.py +22 -0
  38. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/mute_service.py +2 -2
  39. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/ops_service.py +0 -5
  40. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/polling_service.py +1 -0
  41. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/processing_service.py +4 -1
  42. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/authenticated_service.py +29 -4
  43. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/admin_service.py +7 -4
  44. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/authenticated_service.py +3 -7
  45. core_framework-3.0.0/core_framework/constants.py +15 -0
  46. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/cache.py +5 -0
  47. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/pagination.py +8 -7
  48. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/settings.py +70 -17
  49. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/README.md +3 -2
  50. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/__init__.py +4 -0
  51. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/constants.py +4 -0
  52. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/repository.py +5 -3
  53. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/service.py +17 -3
  54. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/README.md +2 -2
  55. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/ports/auth.py +7 -6
  56. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/service.py +2 -1
  57. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/dependencies.py +1 -1
  58. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/repository.py +2 -2
  59. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/service.py +40 -5
  60. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/README.md +2 -2
  61. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/finals_publisher.py +5 -0
  62. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/staging.py +1 -1
  63. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/staging.py +0 -2
  64. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/finals_publisher.py +5 -0
  65. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/staging.py +0 -1
  66. core_framework-3.0.0/core_framework/domains/media/banner/components/finals_publisher.py +41 -0
  67. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/components/staging.py +45 -15
  68. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/components/variant_encoder.py +11 -4
  69. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/staging.py +0 -1
  70. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/service.py +72 -78
  71. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/dependencies.py +3 -4
  72. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/exceptions.py +5 -0
  73. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/utils.py +13 -11
  74. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/dependencies.py +1 -1
  75. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/repository.py +40 -3
  76. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/service.py +29 -3
  77. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/dependencies.py +1 -1
  78. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/README.md +5 -1
  79. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/__init__.py +2 -0
  80. core_framework-3.0.0/core_framework/domains/outbox/exceptions.py +10 -0
  81. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/models.py +2 -0
  82. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/producer.py +2 -2
  83. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/service.py +0 -4
  84. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/__init__.py +2 -1
  85. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/dependencies.py +1 -1
  86. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/outcomes.py +5 -0
  87. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/repository.py +2 -2
  88. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/service.py +28 -1
  89. core_framework-3.0.0/core_framework/domains/repository_sql.py +44 -0
  90. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/dependencies.py +1 -1
  91. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outcomes.py +1 -0
  92. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/repository.py +11 -5
  93. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/service.py +33 -13
  94. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/utils.py +4 -44
  95. core_framework-3.0.0/core_framework/infrastructure/__init__.py +0 -0
  96. core_framework-3.0.0/core_framework/infrastructure/firebase/__init__.py +0 -0
  97. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/firebase/firebase_auth_adapter.py +8 -4
  98. core_framework-3.0.0/core_framework/infrastructure/media/__init__.py +0 -0
  99. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/local_attachment_staging_adapter.py +2 -1
  100. 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
  101. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/local_banner_staging_adapter.py +35 -4
  102. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_attachment_finals_publisher_adapter.py +2 -0
  103. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_banner_finals_publisher_adapter.py +19 -11
  104. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/ssh_finals_publisher_adapter.py +2 -0
  105. core_framework-3.0.0/core_framework/infrastructure/media/staging_paths.py +46 -0
  106. core_framework-3.0.0/core_framework/infrastructure/outbox/__init__.py +0 -0
  107. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/outbox/outbox_consumer_adapter.py +4 -1
  108. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/outbox/outbox_producer_adapter.py +3 -3
  109. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/main.py +2 -36
  110. core_framework-3.0.0/core_framework/worker/__init__.py +0 -0
  111. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/main.py +43 -27
  112. core_framework-3.0.0/core_framework/worker/schedules/__init__.py +130 -0
  113. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/analytics_refresh_cron.py +3 -3
  114. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_media_asset_variants.py +0 -6
  115. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_mute_lift.py +3 -4
  116. {core_framework-2.3.2 → core_framework-3.0.0}/dockerfile +10 -6
  117. {core_framework-2.3.2 → core_framework-3.0.0}/docs/README.md +2 -0
  118. core_framework-3.0.0/docs/deployments/README.md +52 -0
  119. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/deploy-playbook.md +21 -16
  120. core_framework-3.0.0/docs/deployments/edge-rate-limits.md +63 -0
  121. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/edge-upload-limits.md +16 -13
  122. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/examples/Caddyfile.example +19 -1
  123. core_framework-3.0.0/docs/deployments/guides/playbook/postgres-backup-playbook.md +303 -0
  124. core_framework-3.0.0/docs/deployments/guides/playbook/py-spy-playbook.md +203 -0
  125. core_framework-3.0.0/docs/deployments/guides/setup/app-server-deploy-ssh.md +72 -0
  126. core_framework-3.0.0/docs/deployments/guides/setup/caddy-setup.md +56 -0
  127. core_framework-3.0.0/docs/deployments/guides/setup/cloudflare-setup.md +103 -0
  128. core_framework-3.0.0/docs/deployments/guides/setup/image-server-ssh.md +99 -0
  129. core_framework-3.0.0/docs/deployments/guides/setup/postgres-backup-setup.md +323 -0
  130. {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/postgres-setup.md +6 -2
  131. core_framework-3.0.0/docs/deployments/guides/setup/py-spy-setup.md +42 -0
  132. {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/redis-setup.md +2 -2
  133. {core_framework-2.3.2/docs/deployments/guides → core_framework-3.0.0/docs/deployments/guides/setup}/ubuntu-server-setup.md +4 -4
  134. core_framework-3.0.0/docs/deployments/postgres-backup-design.md +176 -0
  135. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/README.md +10 -10
  136. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/create-idempotency-design.md +9 -9
  137. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/event-outbox-design.md +8 -8
  138. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/events-ingest-design.md +46 -20
  139. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/media-storage-topology.md +2 -2
  140. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/outbox-admin-ops-design.md +17 -14
  141. core_framework-3.0.0/docs/design/utm-events-design.md +272 -0
  142. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/README.md +1 -1
  143. core_framework-3.0.0/docs/domains/auth/access_control.md +70 -0
  144. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/auth/registration.md +5 -4
  145. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/create_comment.md +6 -4
  146. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/edit_comment.md +1 -0
  147. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/posts.md +1 -0
  148. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/events/events.md +41 -27
  149. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/banner-upload-design.md +1 -1
  150. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/post-comment-attachments-design.md +1 -1
  151. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/upload-pipeline-design.md +9 -8
  152. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/restrictions.md +2 -2
  153. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/outbox/admin_outbox_ops.md +6 -3
  154. core_framework-3.0.0/docs/domains/posts/README.md +34 -0
  155. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/create_post.md +6 -3
  156. core_framework-3.0.0/docs/domains/posts/delete_post.md +64 -0
  157. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/account_deletion.md +1 -0
  158. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/admin_users.md +2 -2
  159. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/check_username_exists.md +1 -1
  160. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/user_stats_aggregation.md +1 -0
  161. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/capability-wiring.md +17 -13
  162. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/core-framework-migration.md +4 -4
  163. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/overview.md +13 -12
  164. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/package-api.md +229 -37
  165. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/workers.md +5 -3
  166. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/architecture-decisions.md +3 -3
  167. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/client-error-visibility.md +1 -1
  168. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/domain-services-and-adapters.md +5 -5
  169. core_framework-3.0.0/docs/reviews/README.md +11 -0
  170. core_framework-3.0.0/docs/reviews/log.md +12 -0
  171. core_framework-3.0.0/docs/reviews/review-playbook.md +191 -0
  172. core_framework-3.0.0/docs/reviews/slices.md +290 -0
  173. {core_framework-2.3.2 → core_framework-3.0.0}/docs/todo.md +0 -4
  174. {core_framework-2.3.2 → core_framework-3.0.0}/makefile +0 -4
  175. {core_framework-2.3.2 → core_framework-3.0.0}/pyproject.toml +19 -17
  176. core_framework-3.0.0/tests/__init__.py +0 -0
  177. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_settings.py +1 -1
  178. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/system_test.py +0 -1
  179. core_framework-3.0.0/tests/integration/__init__.py +0 -0
  180. core_framework-3.0.0/tests/integration/api/__init__.py +0 -0
  181. core_framework-3.0.0/tests/integration/api/admin/__init__.py +0 -0
  182. core_framework-3.0.0/tests/integration/api/admin/analytics/__init__.py +0 -0
  183. core_framework-3.0.0/tests/integration/api/admin/cache/__init__.py +0 -0
  184. core_framework-3.0.0/tests/integration/api/admin/comments/__init__.py +0 -0
  185. core_framework-3.0.0/tests/integration/api/admin/moderation/__init__.py +0 -0
  186. core_framework-3.0.0/tests/integration/api/admin/outbox/__init__.py +0 -0
  187. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/outbox/router_test.py +9 -4
  188. core_framework-3.0.0/tests/integration/api/admin/posts/__init__.py +0 -0
  189. core_framework-3.0.0/tests/integration/api/admin/users/__init__.py +0 -0
  190. core_framework-3.0.0/tests/integration/api/auth/__init__.py +0 -0
  191. core_framework-3.0.0/tests/integration/api/comments/__init__.py +0 -0
  192. core_framework-3.0.0/tests/integration/api/comments/authenticated/__init__.py +0 -0
  193. core_framework-3.0.0/tests/integration/api/comments/public/__init__.py +0 -0
  194. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/events/router_test.py +224 -8
  195. core_framework-3.0.0/tests/integration/api/notifications/__init__.py +0 -0
  196. core_framework-3.0.0/tests/integration/api/posts/__init__.py +0 -0
  197. core_framework-3.0.0/tests/integration/api/posts/public/__init__.py +0 -0
  198. core_framework-3.0.0/tests/integration/api/system/__init__.py +0 -0
  199. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/system/router_test.py +3 -3
  200. core_framework-3.0.0/tests/integration/api/users/__init__.py +0 -0
  201. core_framework-3.0.0/tests/integration/api/users/authenticated/__init__.py +0 -0
  202. core_framework-3.0.0/tests/integration/api/users/public/__init__.py +0 -0
  203. core_framework-3.0.0/tests/integration/worker/__init__.py +0 -0
  204. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/mute_lift_test.py +3 -5
  205. core_framework-3.0.0/tests/unit/__init__.py +0 -0
  206. core_framework-3.0.0/tests/unit/application/comments/__init__.py +0 -0
  207. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/pagination_test.py +4 -3
  208. core_framework-3.0.0/tests/unit/domains/__init__.py +0 -0
  209. core_framework-3.0.0/tests/unit/domains/comment/__init__.py +0 -0
  210. core_framework-3.0.0/tests/unit/infrastructure/__init__.py +0 -0
  211. core_framework-3.0.0/tests/unit/infrastructure/media/__init__.py +0 -0
  212. {core_framework-2.3.2 → core_framework-3.0.0}/uv.lock +196 -136
  213. core_framework-2.3.2/.github/workflows/dev-ci-cd.yaml +0 -162
  214. core_framework-2.3.2/.github/workflows/manual-deployment.yaml +0 -36
  215. core_framework-2.3.2/.github/workflows/publish-pypi.yml +0 -34
  216. core_framework-2.3.2/.github/workflows/test.yaml +0 -109
  217. core_framework-2.3.2/core_framework/constants.py +0 -5
  218. core_framework-2.3.2/core_framework/domains/media/banner/components/finals_publisher.py +0 -27
  219. core_framework-2.3.2/core_framework/worker/schedules/__init__.py +0 -125
  220. core_framework-2.3.2/docs/deployments/README.md +0 -35
  221. core_framework-2.3.2/docs/deployments/guides/app-server-deploy-ssh.md +0 -55
  222. core_framework-2.3.2/docs/deployments/guides/image-server-ssh.md +0 -62
  223. core_framework-2.3.2/docs/design/utm-events-design.md +0 -233
  224. core_framework-2.3.2/docs/domains/auth/access_control.md +0 -59
  225. core_framework-2.3.2/docs/domains/posts/README.md +0 -33
  226. {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/fastapi +0 -0
  227. {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/library-skills/.library-skills.json +0 -0
  228. {core_framework-2.3.2 → core_framework-3.0.0}/.agents/skills/library-skills/SKILL.md +0 -0
  229. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/alembic-migrations.mdc +0 -0
  230. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-layer.mdc +0 -0
  231. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-reference-docs.mdc +0 -0
  232. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/api-validation.mdc +0 -0
  233. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/application-layer.mdc +0 -0
  234. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/constants-final.mdc +0 -0
  235. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/constitution.mdc +0 -0
  236. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/database-triggers.mdc +0 -0
  237. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/docstrings.mdc +0 -0
  238. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-caller-context.mdc +0 -0
  239. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-imports.mdc +0 -0
  240. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-input-guards.mdc +0 -0
  241. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-repository-exceptions.mdc +0 -0
  242. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/domain-services-and-adapters.mdc +0 -0
  243. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/error-boundary.mdc +0 -0
  244. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/flow-documentation.mdc +0 -0
  245. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/inline-raise-messages.mdc +0 -0
  246. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/integration-test-strategy.mdc +0 -0
  247. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/layer-boundaries.mdc +0 -0
  248. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/no-code-in-docs.mdc +0 -0
  249. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/postgres-config-conventions.mdc +0 -0
  250. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/repository-schema-isolation.mdc +0 -0
  251. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/strong-reads.mdc +0 -0
  252. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/rules/structured-logging.mdc +0 -0
  253. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/add-config/SKILL.md +0 -0
  254. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/add-domain/SKILL.md +0 -0
  255. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/code-review/SKILL.md +0 -0
  256. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/fastapi +0 -0
  257. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/implement-feature/SKILL.md +0 -0
  258. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/recommend-features/SKILL.md +0 -0
  259. {core_framework-2.3.2 → core_framework-3.0.0}/.cursor/skills/write-flow-doc/SKILL.md +0 -0
  260. {core_framework-2.3.2 → core_framework-3.0.0}/.dockerignore +0 -0
  261. {core_framework-2.3.2 → core_framework-3.0.0}/.python-version +0 -0
  262. {core_framework-2.3.2 → core_framework-3.0.0}/LICENSE +0 -0
  263. {core_framework-2.3.2 → core_framework-3.0.0}/README.md +0 -0
  264. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/README +0 -0
  265. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/env.py +0 -0
  266. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/script.py.mako +0 -0
  267. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/585105e1149e_analytics_add_utm_events.py +0 -0
  268. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/5b9ac98bb150_analytics_daily_fact.py +0 -0
  269. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic/versions/7f2a9c1d4e8b_analytics_daily_fact_day_index.py +0 -0
  270. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/analytics/alembic.ini +0 -0
  271. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/README +0 -0
  272. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/env.py +0 -0
  273. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/script.py.mako +0 -0
  274. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_attachments.py +0 -0
  275. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_create_idempotency.py +0 -0
  276. {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
  277. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_add_comment_mentions.py +0 -0
  278. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/comment_tombstone_status_model.py +0 -0
  279. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic/versions/v1_comment_init_baseline.py +0 -0
  280. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/comment/alembic.ini +0 -0
  281. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/README +0 -0
  282. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/env.py +0 -0
  283. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/script.py.mako +0 -0
  284. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic/versions/v1_ext_init_baseline.py +0 -0
  285. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/extension/alembic.ini +0 -0
  286. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/README +0 -0
  287. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/env.py +0 -0
  288. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/script.py.mako +0 -0
  289. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_add_attachment_staging_registry.py +0 -0
  290. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_add_banner_staging_and_lease.py +0 -0
  291. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/media_attachment_staging_registry_published_at.py +0 -0
  292. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic/versions/v1_media_init_baseline.py +0 -0
  293. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/media/alembic.ini +0 -0
  294. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/README +0 -0
  295. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/env.py +0 -0
  296. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/script.py.mako +0 -0
  297. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/moderation_add_event_outbox.py +0 -0
  298. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/moderation_add_event_outbox_dead_indexes.py +0 -0
  299. {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
  300. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic/versions/v1_mod_init_baseline.py +0 -0
  301. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/moderation/alembic.ini +0 -0
  302. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/README +0 -0
  303. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/env.py +0 -0
  304. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/script.py.mako +0 -0
  305. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic/versions/v1_notif_init_baseline.py +0 -0
  306. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/notification/alembic.ini +0 -0
  307. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/README +0 -0
  308. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/env.py +0 -0
  309. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/script.py.mako +0 -0
  310. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_attachments.py +0 -0
  311. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_create_idempotency.py +0 -0
  312. {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
  313. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_add_post_mentions.py +0 -0
  314. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_post_views_retention_high_water_mark.py +0 -0
  315. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/post_tombstone_status_model.py +0 -0
  316. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic/versions/v1_post_init_baseline.py +0 -0
  317. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/post/alembic.ini +0 -0
  318. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/README +0 -0
  319. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/env.py +0 -0
  320. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/script.py.mako +0 -0
  321. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/44df70a45ba6_user_add_signup_events.py +0 -0
  322. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_avatar_ingest_sequences.py +0 -0
  323. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_banner_ingest_sequences.py +0 -0
  324. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_date_of_birth_to_profiles.py +0 -0
  325. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_event_outbox.py +0 -0
  326. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_add_event_outbox_dead_indexes.py +0 -0
  327. {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
  328. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/user_reserve_sentinel_user_ids.py +0 -0
  329. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic/versions/v1_user_init_baseline.py +0 -0
  330. {core_framework-2.3.2 → core_framework-3.0.0}/alembic/user/alembic.ini +0 -0
  331. {core_framework-2.3.2 → core_framework-3.0.0}/config.toml +0 -0
  332. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/__init__.py +0 -0
  333. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/__init__.py +0 -0
  334. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/__init__.py +0 -0
  335. {core_framework-2.3.2/core_framework/api/admin/moderation → core_framework-3.0.0/core_framework/api/admin/analytics}/__init__.py +0 -0
  336. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/analytics/router.py +0 -0
  337. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/analytics/schemas.py +0 -0
  338. {core_framework-2.3.2/core_framework/api/admin/users → core_framework-3.0.0/core_framework/api/admin/cache}/__init__.py +0 -0
  339. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/cache/router.py +0 -0
  340. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/cache/schemas.py +0 -0
  341. {core_framework-2.3.2/core_framework/api/auth → core_framework-3.0.0/core_framework/api/admin/comments}/__init__.py +0 -0
  342. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/comments/router.py +0 -0
  343. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/comments/schemas.py +0 -0
  344. {core_framework-2.3.2/core_framework/api/system → core_framework-3.0.0/core_framework/api/admin/moderation}/__init__.py +0 -0
  345. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/moderation/schemas.py +0 -0
  346. {core_framework-2.3.2/core_framework/api/users → core_framework-3.0.0/core_framework/api/admin/outbox}/__init__.py +0 -0
  347. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/outbox/schemas.py +0 -0
  348. {core_framework-2.3.2/core_framework/api/users/authenticated → core_framework-3.0.0/core_framework/api/admin/posts}/__init__.py +0 -0
  349. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/posts/router.py +0 -0
  350. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/posts/schemas.py +0 -0
  351. {core_framework-2.3.2/core_framework/api/users/public → core_framework-3.0.0/core_framework/api/admin/users}/__init__.py +0 -0
  352. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/users/router.py +0 -0
  353. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/admin/users/schemas.py +0 -0
  354. {core_framework-2.3.2/core_framework/application → core_framework-3.0.0/core_framework/api/attachments}/__init__.py +0 -0
  355. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/attachments/schemas.py +0 -0
  356. {core_framework-2.3.2/core_framework/application → core_framework-3.0.0/core_framework/api}/auth/__init__.py +0 -0
  357. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/auth/router.py +0 -0
  358. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/auth/schemas.py +0 -0
  359. {core_framework-2.3.2/core_framework/application/moderation → core_framework-3.0.0/core_framework/api/comments}/__init__.py +0 -0
  360. {core_framework-2.3.2/core_framework/application/shared → core_framework-3.0.0/core_framework/api/comments/authenticated}/__init__.py +0 -0
  361. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/mappers.py +0 -0
  362. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/router.py +0 -0
  363. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/authenticated/schemas.py +0 -0
  364. {core_framework-2.3.2/core_framework/application/users → core_framework-3.0.0/core_framework/api/comments/public}/__init__.py +0 -0
  365. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/public/router.py +0 -0
  366. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/public/schemas.py +0 -0
  367. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/router.py +0 -0
  368. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/comments/schemas.py +0 -0
  369. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/constants.py +0 -0
  370. {core_framework-2.3.2/core_framework/domains → core_framework-3.0.0/core_framework/api/events}/__init__.py +0 -0
  371. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/events/router.py +0 -0
  372. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/idempotency/__init__.py +0 -0
  373. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/idempotency/dependencies.py +0 -0
  374. {core_framework-2.3.2/core_framework/domains/auth/ports → core_framework-3.0.0/core_framework/api/notifications}/__init__.py +0 -0
  375. {core_framework-2.3.2/core_framework/domains/media/avatar → core_framework-3.0.0/core_framework/api/notifications/authenticated}/__init__.py +0 -0
  376. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/authenticated/router.py +0 -0
  377. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/authenticated/schemas.py +0 -0
  378. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/notifications/router.py +0 -0
  379. {core_framework-2.3.2/core_framework/domains/media/avatar/components → core_framework-3.0.0/core_framework/api/posts}/__init__.py +0 -0
  380. {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
  381. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/mappers.py +0 -0
  382. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/authenticated/schemas.py +0 -0
  383. {core_framework-2.3.2/core_framework/domains/media/shared → core_framework-3.0.0/core_framework/api/posts/public}/__init__.py +0 -0
  384. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/public/router.py +0 -0
  385. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/public/schemas.py +0 -0
  386. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/router.py +0 -0
  387. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/posts/schemas.py +0 -0
  388. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/router.py +0 -0
  389. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/schemas.py +0 -0
  390. {core_framework-2.3.2/core_framework/infrastructure → core_framework-3.0.0/core_framework/api/system}/__init__.py +0 -0
  391. {core_framework-2.3.2/core_framework/infrastructure/firebase → core_framework-3.0.0/core_framework/api/users}/__init__.py +0 -0
  392. {core_framework-2.3.2/core_framework/infrastructure/media → core_framework-3.0.0/core_framework/api/users/authenticated}/__init__.py +0 -0
  393. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/mappers.py +0 -0
  394. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/authenticated/schemas.py +0 -0
  395. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/mappers.py +0 -0
  396. {core_framework-2.3.2/core_framework/worker → core_framework-3.0.0/core_framework/api/users/public}/__init__.py +0 -0
  397. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/public/router.py +0 -0
  398. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/public/schemas.py +0 -0
  399. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/router.py +0 -0
  400. {core_framework-2.3.2/tests → core_framework-3.0.0/core_framework/api/users/shared}/__init__.py +0 -0
  401. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/api/users/shared/schemas.py +0 -0
  402. {core_framework-2.3.2/tests/integration → core_framework-3.0.0/core_framework/application}/__init__.py +0 -0
  403. {core_framework-2.3.2/tests/integration/api → core_framework-3.0.0/core_framework/application/analytics}/__init__.py +0 -0
  404. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/bucket_service.py +0 -0
  405. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/prune_service.py +0 -0
  406. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/read_service.py +0 -0
  407. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/refresh_service.py +0 -0
  408. {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application/analytics/sources}/__init__.py +0 -0
  409. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/comment_created.py +0 -0
  410. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/post_created.py +0 -0
  411. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/post_viewed.py +0 -0
  412. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/analytics/sources/user_registered.py +0 -0
  413. {core_framework-2.3.2/tests/integration/api/admin/analytics → core_framework-3.0.0/core_framework/application/auth}/__init__.py +0 -0
  414. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/access_service.py +0 -0
  415. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/auth/models.py +0 -0
  416. {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application}/cache/__init__.py +0 -0
  417. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/cache/invalidate_service.py +0 -0
  418. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/cache/models.py +0 -0
  419. {core_framework-2.3.2/tests/integration/api/admin → core_framework-3.0.0/core_framework/application}/comments/__init__.py +0 -0
  420. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/admin_service.py +0 -0
  421. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/aggregation_service.py +0 -0
  422. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/cleanup_service.py +0 -0
  423. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/comments/public_service.py +0 -0
  424. {core_framework-2.3.2/tests/integration/api/admin/moderation → core_framework-3.0.0/core_framework/application/events}/__init__.py +0 -0
  425. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/event_token.py +0 -0
  426. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/events/models.py +0 -0
  427. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/README.md +0 -0
  428. {core_framework-2.3.2/tests/integration/api/admin/outbox → core_framework-3.0.0/core_framework/application/media}/__init__.py +0 -0
  429. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/banner_service.py +0 -0
  430. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/ingest_guards.py +0 -0
  431. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/media/read_url_config.py +0 -0
  432. {core_framework-2.3.2/tests/integration/api/admin/posts → core_framework-3.0.0/core_framework/application/moderation}/__init__.py +0 -0
  433. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/appeal_service.py +0 -0
  434. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/report_service.py +0 -0
  435. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/moderation/scheduled_service.py +0 -0
  436. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/README.md +0 -0
  437. {core_framework-2.3.2/tests/integration/api/admin/users → core_framework-3.0.0/core_framework/application/notifications}/__init__.py +0 -0
  438. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/enums.py +0 -0
  439. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/inbox_service.py +0 -0
  440. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/notifications/notification_service.py +0 -0
  441. {core_framework-2.3.2/tests/integration/api/auth → core_framework-3.0.0/core_framework/application/outbox}/__init__.py +0 -0
  442. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/block_mirrors.py +0 -0
  443. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/events.py +0 -0
  444. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/exceptions.py +0 -0
  445. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/follow_mirrors.py +0 -0
  446. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/handlers.py +0 -0
  447. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/outbox/restriction_mirrors.py +0 -0
  448. {core_framework-2.3.2/tests/integration/api/comments → core_framework-3.0.0/core_framework/application/posts}/__init__.py +0 -0
  449. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/admin_service.py +0 -0
  450. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/aggregation_service.py +0 -0
  451. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/cleanup_service.py +0 -0
  452. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/posts/public_service.py +0 -0
  453. {core_framework-2.3.2/tests/integration/api/comments/authenticated → core_framework-3.0.0/core_framework/application/shared}/__init__.py +0 -0
  454. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/enums.py +0 -0
  455. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/exceptions.py +0 -0
  456. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/request_context.py +0 -0
  457. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/shared/worker_jobs.py +0 -0
  458. {core_framework-2.3.2/tests/integration/api/comments/public → core_framework-3.0.0/core_framework/application/users}/__init__.py +0 -0
  459. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/aggregation_service.py +0 -0
  460. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/deletion_audit.py +0 -0
  461. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/enums.py +0 -0
  462. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/public_service.py +0 -0
  463. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/scheduled_service.py +0 -0
  464. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/application/users/user_deletion_service.py +0 -0
  465. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/asgi.py +0 -0
  466. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/bundled_alembic.py +0 -0
  467. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/__init__.py +0 -0
  468. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/context.py +0 -0
  469. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/database.py +0 -0
  470. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/__init__.py +0 -0
  471. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/application.py +0 -0
  472. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/common.py +0 -0
  473. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exception_handlers/setup.py +0 -0
  474. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/exceptions.py +0 -0
  475. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/firebase.py +0 -0
  476. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/http_client.py +0 -0
  477. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/logging.py +0 -0
  478. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/middleware.py +0 -0
  479. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/observability.py +0 -0
  480. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/redis.py +0 -0
  481. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/core/runtime.py +0 -0
  482. {core_framework-2.3.2/tests/integration/api/notifications → core_framework-3.0.0/core_framework/domains}/__init__.py +0 -0
  483. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/dependencies.py +0 -0
  484. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/exceptions.py +0 -0
  485. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/models.py +0 -0
  486. {core_framework-2.3.2/tests/integration/api/posts → core_framework-3.0.0/core_framework/domains/analytics/ports}/__init__.py +0 -0
  487. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/analytics/ports/activity_source.py +0 -0
  488. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/__init__.py +0 -0
  489. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/dependencies.py +0 -0
  490. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/exceptions.py +0 -0
  491. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/auth/models.py +0 -0
  492. {core_framework-2.3.2/tests/integration/api/posts/public → core_framework-3.0.0/core_framework/domains/auth/ports}/__init__.py +0 -0
  493. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/README.md +0 -0
  494. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/__init__.py +0 -0
  495. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/constants.py +0 -0
  496. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/enums.py +0 -0
  497. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/exceptions.py +0 -0
  498. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/models.py +0 -0
  499. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/comment/outcomes.py +0 -0
  500. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/exceptions.py +0 -0
  501. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/__init__.py +0 -0
  502. {core_framework-2.3.2/tests/integration/api/system → core_framework-3.0.0/core_framework/domains/media/attachment}/__init__.py +0 -0
  503. {core_framework-2.3.2/tests/integration/api/users → core_framework-3.0.0/core_framework/domains/media/attachment/components}/__init__.py +0 -0
  504. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/components/variant_encoder.py +0 -0
  505. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/constants.py +0 -0
  506. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/exceptions.py +0 -0
  507. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/models.py +0 -0
  508. {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
  509. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/finals_publisher.py +0 -0
  510. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/ports/variant_encoder.py +0 -0
  511. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/attachment/service.py +0 -0
  512. {core_framework-2.3.2/tests/integration/api/users/public → core_framework-3.0.0/core_framework/domains/media/avatar}/__init__.py +0 -0
  513. {core_framework-2.3.2/tests/integration/worker → core_framework-3.0.0/core_framework/domains/media/avatar/components}/__init__.py +0 -0
  514. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/staging.py +0 -0
  515. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/components/variant_encoder.py +0 -0
  516. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/constants.py +0 -0
  517. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/exceptions.py +0 -0
  518. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/models.py +0 -0
  519. {core_framework-2.3.2/tests/unit → core_framework-3.0.0/core_framework/domains/media/avatar/ports}/__init__.py +0 -0
  520. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/finals_publisher.py +0 -0
  521. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/ports/variant_encoder.py +0 -0
  522. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/avatar/service.py +0 -0
  523. {core_framework-2.3.2/tests/unit/application/comments → core_framework-3.0.0/core_framework/domains/media/banner}/__init__.py +0 -0
  524. {core_framework-2.3.2/tests/unit/domains → core_framework-3.0.0/core_framework/domains/media/banner/components}/__init__.py +0 -0
  525. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/constants.py +0 -0
  526. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/exceptions.py +0 -0
  527. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/models.py +0 -0
  528. {core_framework-2.3.2/tests/unit/domains/comment → core_framework-3.0.0/core_framework/domains/media/banner/ports}/__init__.py +0 -0
  529. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/finals_publisher.py +0 -0
  530. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/banner/ports/variant_encoder.py +0 -0
  531. {core_framework-2.3.2/tests/unit/infrastructure → core_framework-3.0.0/core_framework/domains/media/shared}/__init__.py +0 -0
  532. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/constants.py +0 -0
  533. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/outcomes.py +0 -0
  534. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/repository.py +0 -0
  535. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/media/shared/service.py +0 -0
  536. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/README.md +0 -0
  537. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/__init__.py +0 -0
  538. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/enums.py +0 -0
  539. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/exceptions.py +0 -0
  540. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/models.py +0 -0
  541. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outbox_repository.py +0 -0
  542. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outbox_service.py +0 -0
  543. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/moderation/outcomes.py +0 -0
  544. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/README.md +0 -0
  545. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/__init__.py +0 -0
  546. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/enums.py +0 -0
  547. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/exceptions.py +0 -0
  548. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/models.py +0 -0
  549. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/repository.py +0 -0
  550. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/notification/service.py +0 -0
  551. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/dependencies.py +0 -0
  552. {core_framework-2.3.2/tests/unit/infrastructure/media → core_framework-3.0.0/core_framework/domains/outbox/ports}/__init__.py +0 -0
  553. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/admin.py +0 -0
  554. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/outbox/ports/consumer.py +0 -0
  555. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/README.md +0 -0
  556. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/constants.py +0 -0
  557. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/enums.py +0 -0
  558. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/exceptions.py +0 -0
  559. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/post/models.py +0 -0
  560. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/README.md +0 -0
  561. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/__init__.py +0 -0
  562. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/constants.py +0 -0
  563. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/enums.py +0 -0
  564. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/exceptions.py +0 -0
  565. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/models.py +0 -0
  566. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outbox_repository.py +0 -0
  567. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/outbox_service.py +0 -0
  568. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/domains/user/utils.py +0 -0
  569. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/attachment_staging_display_geometry.py +0 -0
  570. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_attachment_variant_encoder_adapter.py +0 -0
  571. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_avatar_variant_encoder_adapter.py +0 -0
  572. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_banner_variant_encoder_adapter.py +0 -0
  573. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/infrastructure/media/pillow_staging_image.py +0 -0
  574. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/migrate_cli.py +0 -0
  575. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/__init__.py +0 -0
  576. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/arq.py +0 -0
  577. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/auth.py +0 -0
  578. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/config.py +0 -0
  579. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/containers.py +0 -0
  580. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/firebase.py +0 -0
  581. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/firebase_identity_toolkit.py +0 -0
  582. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/hookspecs.py +0 -0
  583. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/httpx_test_client.py +0 -0
  584. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/media.py +0 -0
  585. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/migrations.py +0 -0
  586. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/testing/plugin.py +0 -0
  587. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_comment_stats.py +0 -0
  588. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_post_stats.py +0 -0
  589. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_aggregate_user_stats.py +0 -0
  590. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_expired_account_deletions.py +0 -0
  591. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_expired_mute_lifts.py +0 -0
  592. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_poll_outbox.py +0 -0
  593. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_prune_analytics_daily_facts.py +0 -0
  594. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_prune_post_views.py +0 -0
  595. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_purge_expired_create_idempotency_keys.py +0 -0
  596. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_refresh_analytics.py +0 -0
  597. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_attachment_staging.py +0 -0
  598. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_avatar_staging.py +0 -0
  599. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/schedules/schedule_sweep_stale_banner_staging.py +0 -0
  600. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/__init__.py +0 -0
  601. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_attachment_finals.py +0 -0
  602. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_superseded_avatar_finals.py +0 -0
  603. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/delete_superseded_banner_finals.py +0 -0
  604. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_account_deletion.py +0 -0
  605. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_admin_user_deletion.py +0 -0
  606. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_comment_stats.py +0 -0
  607. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_post_stats.py +0 -0
  608. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_aggregate_user_stats.py +0 -0
  609. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_attachment_asset_variants.py +0 -0
  610. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_banner_asset_variants.py +0 -0
  611. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_cache_pattern_invalidation.py +0 -0
  612. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_destructive_comment_delete.py +0 -0
  613. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_destructive_post_delete.py +0 -0
  614. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_outbox_row.py +0 -0
  615. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_refresh_analytics_bucket.py +0 -0
  616. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/tasks/process_user_content_deletion.py +0 -0
  617. {core_framework-2.3.2 → core_framework-3.0.0}/core_framework/worker/worker_context.py +0 -0
  618. {core_framework-2.3.2 → core_framework-3.0.0}/docker-compose.dev.yaml +0 -0
  619. {core_framework-2.3.2 → core_framework-3.0.0}/docker-compose.yml +0 -0
  620. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/e2e-smoke-tests-design.md +0 -0
  621. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/examples/image-server-known-hosts.example +0 -0
  622. {core_framework-2.3.2 → core_framework-3.0.0}/docs/deployments/release-playbook.md +0 -0
  623. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/analytics-rollup-design.md +0 -0
  624. {core_framework-2.3.2 → core_framework-3.0.0}/docs/design/cache-invalidation-design.md +0 -0
  625. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/analytics/admin_analytics_reads.md +0 -0
  626. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/cache/admin_cache_invalidation.md +0 -0
  627. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/README.md +0 -0
  628. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/admin_comments.md +0 -0
  629. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_like.md +0 -0
  630. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_report.md +0 -0
  631. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/comment_stats_aggregation.md +0 -0
  632. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/delete_comment.md +0 -0
  633. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/comments/retrieve_comments.md +0 -0
  634. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/comments.md +0 -0
  635. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/overview.md +0 -0
  636. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/deletion/users.md +0 -0
  637. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/README.md +0 -0
  638. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/attachment_upload.md +0 -0
  639. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/avatar-upload-design.md +0 -0
  640. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/media/upload_pipeline.md +0 -0
  641. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/mentions/mentions_in_content.md +0 -0
  642. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/README.md +0 -0
  643. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/appeals.md +0 -0
  644. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/internal_notes.md +0 -0
  645. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/moderator_actions.md +0 -0
  646. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/moderation/reports.md +0 -0
  647. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/notifications/notification_inbox.md +0 -0
  648. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/admin_posts.md +0 -0
  649. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/author_context.md +0 -0
  650. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/edit_post.md +0 -0
  651. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/hashtag_discovery.md +0 -0
  652. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_like.md +0 -0
  653. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_report.md +0 -0
  654. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_stats_aggregation.md +0 -0
  655. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/post_visibility.md +0 -0
  656. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/posts/retrieve_posts.md +0 -0
  657. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/account.md +0 -0
  658. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/avatar.md +0 -0
  659. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/banner.md +0 -0
  660. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/blocks.md +0 -0
  661. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/change_history.md +0 -0
  662. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/follow-system-design.md +0 -0
  663. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/follow.md +0 -0
  664. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/my_posts_and_comments.md +0 -0
  665. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/preferences.md +0 -0
  666. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/profile.md +0 -0
  667. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/public_profile.md +0 -0
  668. {core_framework-2.3.2 → core_framework-3.0.0}/docs/domains/users/user_removal.md +0 -0
  669. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/README.md +0 -0
  670. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/api.md +0 -0
  671. {core_framework-2.3.2 → core_framework-3.0.0}/docs/library/testing-plugin-design.md +0 -0
  672. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/README.md +0 -0
  673. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/conventions.md +0 -0
  674. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/database-triggers.md +0 -0
  675. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/layers-and-boundaries.md +0 -0
  676. {core_framework-2.3.2 → core_framework-3.0.0}/docs/platform/patch-update-typed-payload.md +0 -0
  677. {core_framework-2.3.2 → core_framework-3.0.0}/docs/testing.md +0 -0
  678. {core_framework-2.3.2 → core_framework-3.0.0}/firebase_config.example.json +0 -0
  679. {core_framework-2.3.2 → core_framework-3.0.0}/tests/conftest.py +0 -0
  680. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_auth.py +0 -0
  681. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_canaries.py +0 -0
  682. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_media.py +0 -0
  683. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/_upload_payloads.py +0 -0
  684. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/conftest.py +0 -0
  685. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/media/pipeline_test.py +0 -0
  686. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/canary_test.py +0 -0
  687. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/media_test.py +0 -0
  688. {core_framework-2.3.2 → core_framework-3.0.0}/tests/e2e/smoke/tls_host_test.py +0 -0
  689. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/_http_error_details.py +0 -0
  690. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/analytics/_helpers.py +0 -0
  691. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_auth_helpers.py +0 -0
  692. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_destructive_delete_helpers.py +0 -0
  693. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_http_helpers.py +0 -0
  694. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_outbox_helpers.py +0 -0
  695. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_user_deletion_helpers.py +0 -0
  696. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/_user_helpers.py +0 -0
  697. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/_auth_cases.py +0 -0
  698. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/analytics/router_test.py +0 -0
  699. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/cache/router_test.py +0 -0
  700. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/comments/router_test.py +0 -0
  701. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/moderation/_auth_cases.py +0 -0
  702. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/moderation/router_test.py +0 -0
  703. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/posts/router_test.py +0 -0
  704. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/admin/users/router_test.py +0 -0
  705. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/attachments/_helpers.py +0 -0
  706. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/attachments/attachment_upload_test.py +0 -0
  707. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/auth/router_test.py +0 -0
  708. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/authenticated/comment_writes_integration_test.py +0 -0
  709. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/comment_attachments_integration_test.py +0 -0
  710. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/comments/public/router_test.py +0 -0
  711. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/create_idempotency_integration_test.py +0 -0
  712. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/media/ingest_contract_test.py +0 -0
  713. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/mentions/mentions_integration_test.py +0 -0
  714. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/notifications/router_test.py +0 -0
  715. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/authenticated/post_writes_integration_test.py +0 -0
  716. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/comment_count_aggregation_test.py +0 -0
  717. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/followers_visibility_test.py +0 -0
  718. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_attachments_integration_test.py +0 -0
  719. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_deletion_integration_test.py +0 -0
  720. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/post_stats_dirty_marking_test.py +0 -0
  721. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/posts/public/router_test.py +0 -0
  722. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/public_read_by_id_unavailable_detail_test.py +0 -0
  723. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/avatar_upload_test.py +0 -0
  724. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/banner_upload_test.py +0 -0
  725. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/authenticated/router_test.py +0 -0
  726. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/deletion_audit_integration_test.py +0 -0
  727. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/public/router_test.py +0 -0
  728. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/api/users/user_deletion_integration_test.py +0 -0
  729. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/_media_upload_helpers.py +0 -0
  730. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/account_deletion_test.py +0 -0
  731. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_comment_stats_test.py +0 -0
  732. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_post_stats_test.py +0 -0
  733. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/aggregate_user_stats_test.py +0 -0
  734. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/analytics_prune_test.py +0 -0
  735. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/analytics_refresh_test.py +0 -0
  736. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/attachment_upload_test.py +0 -0
  737. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/avatar_upload_test.py +0 -0
  738. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/banner_upload_test.py +0 -0
  739. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/conftest.py +0 -0
  740. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/create_idempotency_retention_test.py +0 -0
  741. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/moderation_outbox_test.py +0 -0
  742. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/stale_staging_sweep_test.py +0 -0
  743. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/user_outbox_test.py +0 -0
  744. {core_framework-2.3.2 → core_framework-3.0.0}/tests/integration/worker/utils_test.py +0 -0
  745. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/comments/authenticated/comment_request_schemas_test.py +0 -0
  746. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/dedupe_preserving_order_test.py +0 -0
  747. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/posts/authenticated/post_update_mapper_test.py +0 -0
  748. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/api/users/profile_update_mapper_test.py +0 -0
  749. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/events/event_service_test.py +0 -0
  750. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/notifications/inbox_service_test.py +0 -0
  751. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/shared/request_context_test.py +0 -0
  752. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/application/users/deletion_audit_test.py +0 -0
  753. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/bundled_alembic_test.py +0 -0
  754. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/core/migrate_cli_test.py +0 -0
  755. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/docs/_api_reference.py +0 -0
  756. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/docs/api_routes_test.py +0 -0
  757. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/domains/post/models_test.py +0 -0
  758. {core_framework-2.3.2 → core_framework-3.0.0}/tests/unit/domains/user/service_test.py +0 -0
  759. {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.