core-framework 1.5.0__tar.gz → 1.6.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 (427) hide show
  1. {core_framework-1.5.0 → core_framework-1.6.0}/.github/workflows/_deploy.yml +2 -0
  2. {core_framework-1.5.0 → core_framework-1.6.0}/CHANGELOG.md +8 -1
  3. {core_framework-1.5.0 → core_framework-1.6.0}/PKG-INFO +1 -1
  4. {core_framework-1.5.0 → core_framework-1.6.0}/config.toml.template +2 -2
  5. {core_framework-1.5.0 → core_framework-1.6.0}/docs/domain-services-and-adapters.md +1 -1
  6. {core_framework-1.5.0 → core_framework-1.6.0}/pyproject.toml +1 -1
  7. {core_framework-1.5.0 → core_framework-1.6.0}/uv.lock +1 -1
  8. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/api-layer.mdc +0 -0
  9. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/api-reference-docs.mdc +0 -0
  10. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/api-security.mdc +0 -0
  11. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/api-validation.mdc +0 -0
  12. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/application-layer.mdc +0 -0
  13. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/code-review-output.mdc +0 -0
  14. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/constants-final.mdc +0 -0
  15. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/database-triggers.md +0 -0
  16. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/domain-caller-context.mdc +0 -0
  17. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/domain-imports.mdc +0 -0
  18. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/domain-input-guards.mdc +0 -0
  19. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/domain-repository-exceptions.mdc +0 -0
  20. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/domain-services-and-adapters.mdc +0 -0
  21. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/exception-handlers.mdc +0 -0
  22. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/flow-documentation.mdc +0 -0
  23. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/henry-cursor-rules-sync.mdc +0 -0
  24. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/implementation-workflow.mdc +0 -0
  25. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/integration-test-strategy.mdc +0 -0
  26. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/layer-boundaries.mdc +0 -0
  27. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/no-code-in-docs.mdc +0 -0
  28. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/no-docstrings.mdc +0 -0
  29. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/postgres-config-conventions.mdc +0 -0
  30. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/repository-read-consistency.mdc +0 -0
  31. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/strong-read-opt-in.mdc +0 -0
  32. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/structured-logging.mdc +0 -0
  33. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/rules/tech-stack.mdc +0 -0
  34. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/skills/add-config/SKILL.md +0 -0
  35. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/skills/add-domain/SKILL.md +0 -0
  36. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/skills/code-review/SKILL.md +0 -0
  37. {core_framework-1.5.0 → core_framework-1.6.0}/.cursor/skills/recommend-features/SKILL.md +0 -0
  38. {core_framework-1.5.0 → core_framework-1.6.0}/.dockerignore +0 -0
  39. {core_framework-1.5.0 → core_framework-1.6.0}/.github/workflows/dev-ci-cd.yaml +0 -0
  40. {core_framework-1.5.0 → core_framework-1.6.0}/.github/workflows/manual-deployment.yaml +0 -0
  41. {core_framework-1.5.0 → core_framework-1.6.0}/.github/workflows/publish-pypi.yml +0 -0
  42. {core_framework-1.5.0 → core_framework-1.6.0}/.github/workflows/test.yaml +0 -0
  43. {core_framework-1.5.0 → core_framework-1.6.0}/.gitignore +0 -0
  44. {core_framework-1.5.0 → core_framework-1.6.0}/.pre-commit-config.yaml +0 -0
  45. {core_framework-1.5.0 → core_framework-1.6.0}/.python-version +0 -0
  46. {core_framework-1.5.0 → core_framework-1.6.0}/LICENSE +0 -0
  47. {core_framework-1.5.0 → core_framework-1.6.0}/README.md +0 -0
  48. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/comment/alembic/README +0 -0
  49. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/comment/alembic/env.py +0 -0
  50. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/comment/alembic/script.py.mako +0 -0
  51. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/comment/alembic/versions/v1_comment_init_baseline.py +0 -0
  52. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/comment/alembic.ini +0 -0
  53. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/extension/alembic/README +0 -0
  54. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/extension/alembic/env.py +0 -0
  55. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/extension/alembic/script.py.mako +0 -0
  56. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/extension/alembic/versions/v1_ext_init_baseline.py +0 -0
  57. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/extension/alembic.ini +0 -0
  58. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/media/alembic/README +0 -0
  59. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/media/alembic/env.py +0 -0
  60. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/media/alembic/script.py.mako +0 -0
  61. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/media/alembic/versions/v1_media_init_baseline.py +0 -0
  62. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/media/alembic.ini +0 -0
  63. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/moderation/alembic/README +0 -0
  64. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/moderation/alembic/env.py +0 -0
  65. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/moderation/alembic/script.py.mako +0 -0
  66. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/moderation/alembic/versions/v1_mod_init_baseline.py +0 -0
  67. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/moderation/alembic.ini +0 -0
  68. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/notification/alembic/README +0 -0
  69. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/notification/alembic/env.py +0 -0
  70. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/notification/alembic/script.py.mako +0 -0
  71. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/notification/alembic/versions/v1_notif_init_baseline.py +0 -0
  72. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/notification/alembic.ini +0 -0
  73. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/post/alembic/README +0 -0
  74. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/post/alembic/env.py +0 -0
  75. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/post/alembic/script.py.mako +0 -0
  76. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/post/alembic/versions/v1_post_init_baseline.py +0 -0
  77. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/post/alembic.ini +0 -0
  78. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/README +0 -0
  79. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/env.py +0 -0
  80. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/script.py.mako +0 -0
  81. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/versions/user_add_avatar_ingest_sequences.py +0 -0
  82. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/versions/user_add_date_of_birth_to_profiles.py +0 -0
  83. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic/versions/v1_user_init_baseline.py +0 -0
  84. {core_framework-1.5.0 → core_framework-1.6.0}/alembic/user/alembic.ini +0 -0
  85. {core_framework-1.5.0 → core_framework-1.6.0}/config.toml +0 -0
  86. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/__init__.py +0 -0
  87. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/__init__.py +0 -0
  88. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/__init__.py +0 -0
  89. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/comments/router.py +0 -0
  90. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/comments/schemas.py +0 -0
  91. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/moderation/__init__.py +0 -0
  92. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/moderation/router.py +0 -0
  93. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/moderation/schemas.py +0 -0
  94. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/posts/router.py +0 -0
  95. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/posts/schemas.py +0 -0
  96. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/router.py +0 -0
  97. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/users/__init__.py +0 -0
  98. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/users/router.py +0 -0
  99. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/admin/users/schemas.py +0 -0
  100. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/auth/__init__.py +0 -0
  101. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/auth/router.py +0 -0
  102. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/auth/schemas.py +0 -0
  103. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/authenticated/mappers.py +0 -0
  104. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/authenticated/router.py +0 -0
  105. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/authenticated/schemas.py +0 -0
  106. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/public/router.py +0 -0
  107. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/public/schemas.py +0 -0
  108. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/router.py +0 -0
  109. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/comments/schemas.py +0 -0
  110. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/constants.py +0 -0
  111. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/dependencies.py +0 -0
  112. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/events/router.py +0 -0
  113. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/events/schemas.py +0 -0
  114. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/notifications/authenticated/router.py +0 -0
  115. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/notifications/authenticated/schemas.py +0 -0
  116. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/notifications/router.py +0 -0
  117. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/authenticated/mappers.py +0 -0
  118. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/authenticated/router.py +0 -0
  119. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/authenticated/schemas.py +0 -0
  120. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/public/router.py +0 -0
  121. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/public/schemas.py +0 -0
  122. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/router.py +0 -0
  123. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/posts/schemas.py +0 -0
  124. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/router.py +0 -0
  125. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/schemas.py +0 -0
  126. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/system/__init__.py +0 -0
  127. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/system/router.py +0 -0
  128. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/__init__.py +0 -0
  129. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/authenticated/__init__.py +0 -0
  130. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/authenticated/mappers.py +0 -0
  131. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/authenticated/router.py +0 -0
  132. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/authenticated/schemas.py +0 -0
  133. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/mappers.py +0 -0
  134. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/public/__init__.py +0 -0
  135. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/public/router.py +0 -0
  136. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/public/schemas.py +0 -0
  137. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/router.py +0 -0
  138. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/api/users/shared/schemas.py +0 -0
  139. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/__init__.py +0 -0
  140. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/auth/__init__.py +0 -0
  141. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/auth/access_service.py +0 -0
  142. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/auth/auth_service.py +0 -0
  143. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/auth/models.py +0 -0
  144. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/bootstrap.py +0 -0
  145. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/comments/admin_service.py +0 -0
  146. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/comments/aggregation_service.py +0 -0
  147. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/comments/authenticated_service.py +0 -0
  148. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/comments/public_service.py +0 -0
  149. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/events/README.md +0 -0
  150. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/events/event_service.py +0 -0
  151. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/events/event_token.py +0 -0
  152. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/events/models.py +0 -0
  153. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/media/README.md +0 -0
  154. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/media/avatar_service.py +0 -0
  155. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/__init__.py +0 -0
  156. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/appeal_service.py +0 -0
  157. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/moderator_service.py +0 -0
  158. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/report_service.py +0 -0
  159. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/scheduled_service.py +0 -0
  160. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/moderation/user_service.py +0 -0
  161. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/notifications/README.md +0 -0
  162. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/notifications/enums.py +0 -0
  163. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/notifications/inbox_service.py +0 -0
  164. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/notifications/mute_service.py +0 -0
  165. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/notifications/notification_service.py +0 -0
  166. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/posts/admin_service.py +0 -0
  167. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/posts/aggregation_service.py +0 -0
  168. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/posts/authenticated_service.py +0 -0
  169. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/posts/public_service.py +0 -0
  170. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/shared/__init__.py +0 -0
  171. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/shared/enums.py +0 -0
  172. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/shared/exceptions.py +0 -0
  173. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/shared/user_agent.py +0 -0
  174. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/shared/worker_jobs.py +0 -0
  175. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/__init__.py +0 -0
  176. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/admin_service.py +0 -0
  177. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/aggregation_service.py +0 -0
  178. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/authenticated_service.py +0 -0
  179. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/public_service.py +0 -0
  180. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/application/users/scheduled_service.py +0 -0
  181. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/asgi.py +0 -0
  182. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/bundled_alembic.py +0 -0
  183. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/constants.py +0 -0
  184. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/__init__.py +0 -0
  185. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/cache.py +0 -0
  186. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/context.py +0 -0
  187. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/database.py +0 -0
  188. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/__init__.py +0 -0
  189. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/comment.py +0 -0
  190. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/common.py +0 -0
  191. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/media.py +0 -0
  192. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/moderation.py +0 -0
  193. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/notification.py +0 -0
  194. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/post.py +0 -0
  195. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/setup.py +0 -0
  196. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/exception_handlers/user.py +0 -0
  197. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/firebase.py +0 -0
  198. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/http_client.py +0 -0
  199. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/logging.py +0 -0
  200. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/middleware.py +0 -0
  201. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/observability.py +0 -0
  202. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/pagination.py +0 -0
  203. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/redis.py +0 -0
  204. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/runtime.py +0 -0
  205. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/core/settings.py +0 -0
  206. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/__init__.py +0 -0
  207. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/README.md +0 -0
  208. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/__init__.py +0 -0
  209. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/constants.py +0 -0
  210. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/dependencies.py +0 -0
  211. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/enums.py +0 -0
  212. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/exceptions.py +0 -0
  213. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/models.py +0 -0
  214. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/repository.py +0 -0
  215. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/comment/service.py +0 -0
  216. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/exceptions.py +0 -0
  217. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/README.md +0 -0
  218. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/__init__.py +0 -0
  219. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/__init__.py +0 -0
  220. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/components/__init__.py +0 -0
  221. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/components/finals_publisher.py +0 -0
  222. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/components/staging.py +0 -0
  223. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/components/variant_encoder.py +0 -0
  224. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/constants.py +0 -0
  225. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/exceptions.py +0 -0
  226. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/models.py +0 -0
  227. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/ports/__init__.py +0 -0
  228. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/ports/finals_publisher.py +0 -0
  229. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/ports/staging.py +0 -0
  230. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/ports/variant_encoder.py +0 -0
  231. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/avatar/service.py +0 -0
  232. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/dependencies.py +0 -0
  233. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/shared/__init__.py +0 -0
  234. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/shared/exceptions.py +0 -0
  235. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/shared/repository.py +0 -0
  236. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/shared/service.py +0 -0
  237. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/media/shared/utils.py +0 -0
  238. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/README.md +0 -0
  239. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/__init__.py +0 -0
  240. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/dependencies.py +0 -0
  241. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/enums.py +0 -0
  242. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/exceptions.py +0 -0
  243. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/models.py +0 -0
  244. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/repository.py +0 -0
  245. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/moderation/service.py +0 -0
  246. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/README.md +0 -0
  247. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/__init__.py +0 -0
  248. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/dependencies.py +0 -0
  249. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/enums.py +0 -0
  250. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/exceptions.py +0 -0
  251. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/models.py +0 -0
  252. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/repository.py +0 -0
  253. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/notification/service.py +0 -0
  254. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/README.md +0 -0
  255. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/__init__.py +0 -0
  256. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/constants.py +0 -0
  257. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/dependencies.py +0 -0
  258. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/enums.py +0 -0
  259. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/exceptions.py +0 -0
  260. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/models.py +0 -0
  261. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/repository.py +0 -0
  262. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/post/service.py +0 -0
  263. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/README.md +0 -0
  264. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/__init__.py +0 -0
  265. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/constants.py +0 -0
  266. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/dependencies.py +0 -0
  267. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/enums.py +0 -0
  268. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/exceptions.py +0 -0
  269. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/models.py +0 -0
  270. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/repository.py +0 -0
  271. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/service.py +0 -0
  272. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/user/utils.py +0 -0
  273. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/domains/utils.py +0 -0
  274. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/infrastructure/__init__.py +0 -0
  275. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/infrastructure/media/__init__.py +0 -0
  276. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/infrastructure/media/local_staging_adapter.py +0 -0
  277. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/infrastructure/media/pillow_variant_encoder_adapter.py +0 -0
  278. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/infrastructure/media/ssh_finals_publisher_adapter.py +0 -0
  279. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/main.py +0 -0
  280. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/migrate_cli.py +0 -0
  281. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/__init__.py +0 -0
  282. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/arq.py +0 -0
  283. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/auth.py +0 -0
  284. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/config.py +0 -0
  285. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/containers.py +0 -0
  286. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/firebase.py +0 -0
  287. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/hookspecs.py +0 -0
  288. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/httpx_test_client.py +0 -0
  289. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/media.py +0 -0
  290. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/migrations.py +0 -0
  291. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/testing/plugin.py +0 -0
  292. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/__init__.py +0 -0
  293. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/main.py +0 -0
  294. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/__init__.py +0 -0
  295. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_aggregate_comment_stats.py +0 -0
  296. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_aggregate_post_stats.py +0 -0
  297. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_aggregate_user_stats.py +0 -0
  298. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_expired_account_deletions.py +0 -0
  299. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_expired_mute_lifts.py +0 -0
  300. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/schedules/schedule_sweep_stale_avatar_staging.py +0 -0
  301. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/__init__.py +0 -0
  302. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/delete_superseded_avatar_finals.py +0 -0
  303. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_account_deletion.py +0 -0
  304. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_aggregate_comment_stats.py +0 -0
  305. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_aggregate_post_stats.py +0 -0
  306. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_aggregate_user_stats.py +0 -0
  307. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_media_asset_variants.py +0 -0
  308. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/tasks/process_mute_lift.py +0 -0
  309. {core_framework-1.5.0 → core_framework-1.6.0}/core_framework/worker/worker_context.py +0 -0
  310. {core_framework-1.5.0 → core_framework-1.6.0}/docker-compose.dev.yaml +0 -0
  311. {core_framework-1.5.0 → core_framework-1.6.0}/docker-compose.yml +0 -0
  312. {core_framework-1.5.0 → core_framework-1.6.0}/dockerfile +0 -0
  313. {core_framework-1.5.0 → core_framework-1.6.0}/docs/README.md +0 -0
  314. {core_framework-1.5.0 → core_framework-1.6.0}/docs/api.md +0 -0
  315. {core_framework-1.5.0 → core_framework-1.6.0}/docs/architecture-decisions.md +0 -0
  316. {core_framework-1.5.0 → core_framework-1.6.0}/docs/architecture.md +0 -0
  317. {core_framework-1.5.0 → core_framework-1.6.0}/docs/conventions.md +0 -0
  318. {core_framework-1.5.0 → core_framework-1.6.0}/docs/core-framework-migration.md +0 -0
  319. {core_framework-1.5.0 → core_framework-1.6.0}/docs/database-triggers.md +0 -0
  320. {core_framework-1.5.0 → core_framework-1.6.0}/docs/deployment/Caddyfile.example +0 -0
  321. {core_framework-1.5.0 → core_framework-1.6.0}/docs/deployment/edge-upload-limits.md +0 -0
  322. {core_framework-1.5.0 → core_framework-1.6.0}/docs/deployment/image-server-known-hosts.example +0 -0
  323. {core_framework-1.5.0 → core_framework-1.6.0}/docs/deployment/image-server-ssh.md +0 -0
  324. {core_framework-1.5.0 → core_framework-1.6.0}/docs/event-outbox-design.md +0 -0
  325. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/auth/access_control.md +0 -0
  326. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/auth/registration.md +0 -0
  327. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/admin_comments.md +0 -0
  328. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/comment_report.md +0 -0
  329. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/comment_stats_aggregation.md +0 -0
  330. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/create_comment.md +0 -0
  331. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/delete_comment.md +0 -0
  332. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/edit_comment.md +0 -0
  333. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/comments/retrieve_comments.md +0 -0
  334. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/events/events.md +0 -0
  335. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/media/upload_pipeline.md +0 -0
  336. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/mentions/mentions_in_content.md +0 -0
  337. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/moderation/appeals.md +0 -0
  338. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/moderation/internal_notes.md +0 -0
  339. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/moderation/moderator_actions.md +0 -0
  340. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/moderation/reports.md +0 -0
  341. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/moderation/restrictions.md +0 -0
  342. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/notifications/notification_inbox.md +0 -0
  343. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/admin_posts.md +0 -0
  344. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/author_context.md +0 -0
  345. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/hashtag_discovery.md +0 -0
  346. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/post_like.md +0 -0
  347. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/post_stats_aggregation.md +0 -0
  348. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/posts/post_visibility.md +0 -0
  349. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/account.md +0 -0
  350. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/account_deletion.md +0 -0
  351. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/avatar.md +0 -0
  352. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/blocks.md +0 -0
  353. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/change_history.md +0 -0
  354. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/check_username_exists.md +0 -0
  355. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/follow.md +0 -0
  356. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/my_posts_and_comments.md +0 -0
  357. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/preferences.md +0 -0
  358. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/profile.md +0 -0
  359. {core_framework-1.5.0 → core_framework-1.6.0}/docs/flows/users/user_removal.md +0 -0
  360. {core_framework-1.5.0 → core_framework-1.6.0}/docs/follow-system-design.md +0 -0
  361. {core_framework-1.5.0 → core_framework-1.6.0}/docs/media-upload-pipeline-design.md +0 -0
  362. {core_framework-1.5.0 → core_framework-1.6.0}/docs/package-api.md +0 -0
  363. {core_framework-1.5.0 → core_framework-1.6.0}/docs/patch-update-typed-payload.md +0 -0
  364. {core_framework-1.5.0 → core_framework-1.6.0}/docs/testing-plugin-design.md +0 -0
  365. {core_framework-1.5.0 → core_framework-1.6.0}/docs/todo.md +0 -0
  366. {core_framework-1.5.0 → core_framework-1.6.0}/firebase_config.example.json +0 -0
  367. {core_framework-1.5.0 → core_framework-1.6.0}/makefile +0 -0
  368. {core_framework-1.5.0 → core_framework-1.6.0}/tests/__init__.py +0 -0
  369. {core_framework-1.5.0 → core_framework-1.6.0}/tests/conftest.py +0 -0
  370. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/__init__.py +0 -0
  371. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/__init__.py +0 -0
  372. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/_http_helpers.py +0 -0
  373. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/__init__.py +0 -0
  374. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/comments/__init__.py +0 -0
  375. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/comments/router_test.py +0 -0
  376. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/moderation/__init__.py +0 -0
  377. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/moderation/router_test.py +0 -0
  378. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/posts/__init__.py +0 -0
  379. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/posts/router_test.py +0 -0
  380. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/users/__init__.py +0 -0
  381. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/admin/users/router_test.py +0 -0
  382. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/auth/__init__.py +0 -0
  383. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/auth/router_test.py +0 -0
  384. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/comments/__init__.py +0 -0
  385. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/comments/authenticated/comment_writes_integration_test.py +0 -0
  386. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/comments/public/__init__.py +0 -0
  387. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/comments/public/router_test.py +0 -0
  388. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/events/router_test.py +0 -0
  389. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/notifications/__init__.py +0 -0
  390. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/notifications/router_test.py +0 -0
  391. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/__init__.py +0 -0
  392. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/authenticated/post_writes_integration_test.py +0 -0
  393. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/comment_count_aggregation_test.py +0 -0
  394. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/followers_visibility_test.py +0 -0
  395. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/post_stats_dirty_marking_test.py +0 -0
  396. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/public/__init__.py +0 -0
  397. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/posts/public/router_test.py +0 -0
  398. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/system/__init__.py +0 -0
  399. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/system/router_test.py +0 -0
  400. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/__init__.py +0 -0
  401. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/authenticated/__init__.py +0 -0
  402. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/authenticated/avatar_upload_test.py +0 -0
  403. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/authenticated/router_test.py +0 -0
  404. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/public/__init__.py +0 -0
  405. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/api/users/public/router_test.py +0 -0
  406. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/__init__.py +0 -0
  407. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/account_deletion_test.py +0 -0
  408. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/aggregate_comment_stats_test.py +0 -0
  409. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/aggregate_post_stats_test.py +0 -0
  410. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/aggregate_user_stats_test.py +0 -0
  411. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/avatar_upload_test.py +0 -0
  412. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/conftest.py +0 -0
  413. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/mute_lift_test.py +0 -0
  414. {core_framework-1.5.0 → core_framework-1.6.0}/tests/integration/worker/utils_test.py +0 -0
  415. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/__init__.py +0 -0
  416. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/application/comments/__init__.py +0 -0
  417. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/application/events/event_service_test.py +0 -0
  418. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/application/notifications/inbox_service_test.py +0 -0
  419. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/core/bundled_alembic_test.py +0 -0
  420. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/core/migrate_cli_test.py +0 -0
  421. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/core/pagination_test.py +0 -0
  422. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/domains/__init__.py +0 -0
  423. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/domains/comment/__init__.py +0 -0
  424. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/domains/user/service_test.py +0 -0
  425. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/infrastructure/__init__.py +0 -0
  426. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/infrastructure/media/__init__.py +0 -0
  427. {core_framework-1.5.0 → core_framework-1.6.0}/tests/unit/infrastructure/media/ssh_finals_publisher_adapter_test.py +0 -0
@@ -41,8 +41,10 @@ jobs:
41
41
  ALLOWED_HOSTS: ${{ secrets.ALLOWED_HOSTS }}
42
42
  AVATAR_HOST_DOMAIN: ${{ secrets.AVATAR_HOST_DOMAIN }}
43
43
  AVATAR_DEFAULT_IMAGE: ${{ secrets.AVATAR_DEFAULT_IMAGE }}
44
+ AVATAR_PUBLISH_ROOT: ${{ secrets.AVATAR_PUBLISH_ROOT }}
44
45
  BANNER_HOST_DOMAIN: ${{ secrets.BANNER_HOST_DOMAIN }}
45
46
  BANNER_DEFAULT_IMAGE: ${{ secrets.BANNER_DEFAULT_IMAGE }}
47
+ BANNER_PUBLISH_ROOT: ${{ secrets.BANNER_PUBLISH_ROOT }}
46
48
  IMAGE_SERVER_HOST: ${{ secrets.IMAGE_SERVER_HOST }}
47
49
  IMAGE_SERVER_PORT: ${{ secrets.IMAGE_SERVER_PORT }}
48
50
  IMAGE_SERVER_USER: ${{ secrets.IMAGE_SERVER_USER }}
@@ -4,6 +4,12 @@ Notable changes to **core-framework** (import **`core_framework`**). Format foll
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.6.0] - 2026-05-27
8
+
9
+ ### Changed
10
+
11
+ - **Deploy:** **`[avatar].publish_root`** and **`[banner].publish_root`** are rendered from GitHub environment secrets **`AVATAR_PUBLISH_ROOT`** and **`BANNER_PUBLISH_ROOT`** (via **`config.toml.template`**) so image-server docroots can differ per environment. Local **`config.toml`** defaults are unchanged.
12
+
7
13
  ## [1.5.0] - 2026-05-26
8
14
 
9
15
  ### Added
@@ -204,4 +210,5 @@ First **SemVer-stable** release per **`docs/package-api.md`**.
204
210
  [1.3.0]: https://github.com/NepNepFFXIV/core-framework/compare/v1.2.0...v1.3.0
205
211
  [1.4.0]: https://github.com/NepNepFFXIV/core-framework/compare/v1.3.0...v1.4.0
206
212
  [1.5.0]: https://github.com/NepNepFFXIV/core-framework/compare/v1.4.0...v1.5.0
207
- [unreleased]: https://github.com/NepNepFFXIV/core-framework/compare/v1.5.0...HEAD
213
+ [1.6.0]: https://github.com/NepNepFFXIV/core-framework/compare/v1.5.0...v1.6.0
214
+ [unreleased]: https://github.com/NepNepFFXIV/core-framework/compare/v1.6.0...HEAD
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: core-framework
3
- Version: 1.5.0
3
+ Version: 1.6.0
4
4
  Summary: Core framework package (import as core_framework)
5
5
  Project-URL: Homepage, https://github.com/NepNepFFXIV/core-framework
6
6
  Project-URL: Repository, https://github.com/NepNepFFXIV/core-framework
@@ -9,13 +9,13 @@ secret_key = "$SECRET_KEY"
9
9
  [avatar]
10
10
  avatar_host_domain = "$AVATAR_HOST_DOMAIN"
11
11
  default_avatar_image = "$AVATAR_DEFAULT_IMAGE"
12
- publish_root = "/var/www/sites/avatar"
12
+ publish_root = "$AVATAR_PUBLISH_ROOT"
13
13
  staging_root = "/app/avatar-staging"
14
14
 
15
15
  [banner]
16
16
  banner_host_domain = "$BANNER_HOST_DOMAIN"
17
17
  default_banner_image = "$BANNER_DEFAULT_IMAGE"
18
- publish_root = "/var/www/sites/banner"
18
+ publish_root = "$BANNER_PUBLISH_ROOT"
19
19
 
20
20
  [image_server]
21
21
  host = "$IMAGE_SERVER_HOST"
@@ -151,7 +151,7 @@ Example on one box:
151
151
  /var/www/sites/banner/{banner_id}.webp
152
152
  ```
153
153
 
154
- Deploy: **`[image_server]`** transport secrets and files — **`IMAGE_SERVER_SSH_PRIVATE_KEY`**, **`IMAGE_SERVER_KNOWN_HOSTS`** ( **`ssh-keyscan`** output for the image server), plus **`IMAGE_SERVER_HOST`** / **`PORT`** / **`USER`**. See **`docs/deployment/image-server-ssh.md`**. Default `publish_root` values live in `config.toml` / `config.toml.template`; override in TOML per environment when docroots differ.
154
+ Deploy: **`[image_server]`** transport secrets and files — **`IMAGE_SERVER_SSH_PRIVATE_KEY`**, **`IMAGE_SERVER_KNOWN_HOSTS`** ( **`ssh-keyscan`** output for the image server), plus **`IMAGE_SERVER_HOST`** / **`PORT`** / **`USER`**. Per-product remote docroots — **`AVATAR_PUBLISH_ROOT`**, **`BANNER_PUBLISH_ROOT`** (rendered into **`[avatar].publish_root`** / **`[banner].publish_root`** via **`config.toml.template`**). See **`docs/deployment/image-server-ssh.md`**. Local **`config.toml`** keeps dev defaults; deployed values come from GitHub environment secrets.
155
155
 
156
156
  ______________________________________________________________________
157
157
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "core-framework"
7
- version = "1.5.0"
7
+ version = "1.6.0"
8
8
  description = "Core framework package (import as core_framework)"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -331,7 +331,7 @@ wheels = [
331
331
 
332
332
  [[package]]
333
333
  name = "core-framework"
334
- version = "1.5.0"
334
+ version = "1.6.0"
335
335
  source = { editable = "." }
336
336
  dependencies = [
337
337
  { name = "aiofiles" },
File without changes
File without changes