matrx-orm 3.1.185__tar.gz → 3.1.186__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 (416) hide show
  1. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/PKG-INFO +1 -1
  2. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/types.py +9 -0
  3. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/FEATURE.md +19 -19
  4. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/items.py +5 -6
  5. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/pyproject.toml +1 -1
  6. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_secrets_battery.py +3 -3
  7. matrx_orm-3.1.186/tests/test_update_result_truthiness.py +6 -0
  8. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/.gitignore +0 -0
  9. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/AGENTS.md +0 -0
  10. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/BASE_CLASS_METHODS.md +0 -0
  11. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/CHANGELOG.md +0 -0
  12. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/CLAUDE.md +0 -0
  13. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/MODEL_API.md +0 -0
  14. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/README.md +0 -0
  15. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/database/orm/extended/managers/ai_model_base.py +0 -0
  16. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/docs/migrations.md +0 -0
  17. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/FEATURE.md +0 -0
  18. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/MODULE_README.md +0 -0
  19. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/__init__.py +0 -0
  20. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/MODULE_README.md +0 -0
  21. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/__init__.py +0 -0
  22. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/async_postgresql.py +0 -0
  23. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/base_adapter.py +0 -0
  24. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
  25. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/adapters/supabase_adapter.py +0 -0
  26. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/admin/FEATURE.md +0 -0
  27. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/admin/__init__.py +0 -0
  28. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/admin/router.py +0 -0
  29. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/__init__.py +0 -0
  30. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/auth.py +0 -0
  31. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/config.py +0 -0
  32. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/handlers.py +0 -0
  33. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/protocol.py +0 -0
  34. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/api/server.py +0 -0
  35. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/associations.py +0 -0
  36. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/cache_debug.py +0 -0
  37. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/catalog.py +0 -0
  38. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/catalog_sql.py +0 -0
  39. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/MODULE_README.md +0 -0
  40. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/__init__.py +0 -0
  41. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/postgres_connection.py +0 -0
  42. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/postgrest.py +0 -0
  43. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/supabase_auth.py +0 -0
  44. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/supabase_config.py +0 -0
  45. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/client/supabase_manager.py +0 -0
  46. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/EXTENDED-TASK.md +0 -0
  47. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/FEATURE.md +0 -0
  48. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/MODULE_README.md +0 -0
  49. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
  50. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/TASKS.md +0 -0
  51. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/__init__.py +0 -0
  52. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/admin_lane.py +0 -0
  53. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/async_db_manager.py +0 -0
  54. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/base.py +0 -0
  55. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/config.py +0 -0
  56. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/connections.py +0 -0
  57. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/db_function.py +0 -0
  58. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/diagnostics.py +0 -0
  59. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/expressions.py +0 -0
  60. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/extended.py +0 -0
  61. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/fields.py +0 -0
  62. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/introspection.py +0 -0
  63. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/listen.py +0 -0
  64. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/loop_filters.py +0 -0
  65. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/model_dto.py +0 -0
  66. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/model_view.py +0 -0
  67. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/one_database.py +0 -0
  68. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/paginator.py +0 -0
  69. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/pool_maintenance.py +0 -0
  70. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/pool_watch.py +0 -0
  71. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/pooler_role.py +0 -0
  72. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/pydantic_bridge.py +0 -0
  73. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/registry.py +0 -0
  74. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/relations.py +0 -0
  75. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/resilience.py +0 -0
  76. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/rls_session.py +0 -0
  77. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/session_context.py +0 -0
  78. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/signals.py +0 -0
  79. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/tls.py +0 -0
  80. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/transaction.py +0 -0
  81. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/write_queue.py +0 -0
  82. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/core/write_retry.py +0 -0
  83. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/entity.py +0 -0
  84. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/error_handling.py +0 -0
  85. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/exceptions.py +0 -0
  86. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/extended/__init__.py +0 -0
  87. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/extended/app_error_handler.py +0 -0
  88. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/identity_rule.py +0 -0
  89. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/local_sqlite.py +0 -0
  90. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/middleware/__init__.py +0 -0
  91. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/middleware/base.py +0 -0
  92. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/MODULE_README.md +0 -0
  93. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/__init__.py +0 -0
  94. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/cli.py +0 -0
  95. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/ddl.py +0 -0
  96. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/diff.py +0 -0
  97. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/executor.py +0 -0
  98. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/integration.py +0 -0
  99. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/loader.py +0 -0
  100. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/operations.py +0 -0
  101. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/state.py +0 -0
  102. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/migrations/table_filter.py +0 -0
  103. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/no_org_assignment.py +0 -0
  104. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/FEATURE.md +0 -0
  105. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/MODULE_README.md +0 -0
  106. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/__init__.py +0 -0
  107. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/bulk_update_values.py +0 -0
  108. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/catalog_select.py +0 -0
  109. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/conflict.py +0 -0
  110. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/conflict_writes.py +0 -0
  111. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/create.py +0 -0
  112. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/db_functions.py +0 -0
  113. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/delete.py +0 -0
  114. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/dynamic_admin.py +0 -0
  115. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/dynamic_crud.py +0 -0
  116. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/graph_walk.py +0 -0
  117. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/latest_rows.py +0 -0
  118. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/queue_claim.py +0 -0
  119. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/read.py +0 -0
  120. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/relational_backfill.py +0 -0
  121. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/staging_load.py +0 -0
  122. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/operations/update.py +0 -0
  123. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/platform_access.py +0 -0
  124. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/platform_db.py +0 -0
  125. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/py.typed +0 -0
  126. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/pytest_live_db_guard.py +0 -0
  127. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/pytest_lock_guard.py +0 -0
  128. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/pytest_plugin.py +0 -0
  129. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/python_sql/MODULE_README.md +0 -0
  130. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/python_sql/__init__.py +0 -0
  131. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/python_sql/db_objects.py +0 -0
  132. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
  133. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
  134. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/query/FEATURE.md +0 -0
  135. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/query/MODULE_README.md +0 -0
  136. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/query/__init__.py +0 -0
  137. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/query/builder.py +0 -0
  138. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/query/executor.py +0 -0
  139. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/resources/__init__.py +0 -0
  140. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/resources/additional-assigners-2026-09-12.json +0 -0
  141. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/resources/org_assignment_trigger_baseline.json +0 -0
  142. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/FEATURE.md +0 -0
  143. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/MODULE_README.md +0 -0
  144. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/__init__.py +0 -0
  145. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/code_handler.py +0 -0
  146. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/codegen_writer.py +0 -0
  147. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/columns.py +0 -0
  148. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/common.py +0 -0
  149. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/diff_preview.py +0 -0
  150. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
  151. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/generator.py +0 -0
  152. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
  153. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
  154. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
  155. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
  156. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/package_wiring.py +0 -0
  157. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/relationships.py +0 -0
  158. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/runner.py +0 -0
  159. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/schema.py +0 -0
  160. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/schema_manager.py +0 -0
  161. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/tables.py +0 -0
  162. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/schema_builder/views.py +0 -0
  163. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/__init__.py +0 -0
  164. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/attachments.py +0 -0
  165. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/backup_restore.py +0 -0
  166. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/crypto.py +0 -0
  167. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/host_authorization.py +0 -0
  168. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/model.py +0 -0
  169. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/mutation_receipts.py +0 -0
  170. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/native_enable.py +0 -0
  171. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/native_lifecycle.py +0 -0
  172. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/native_passkeys.py +0 -0
  173. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/native_source.py +0 -0
  174. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/org_service.py +0 -0
  175. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/service.py +0 -0
  176. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/secrets_battery/vault_history.py +0 -0
  177. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/README.md +0 -0
  178. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/__init__.py +0 -0
  179. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/coalesce.py +0 -0
  180. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/dag.py +0 -0
  181. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/errors.py +0 -0
  182. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/fallback.py +0 -0
  183. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/flush.py +0 -0
  184. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/lifecycle.py +0 -0
  185. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/managed.py +0 -0
  186. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/op.py +0 -0
  187. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/reads.py +0 -0
  188. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/session.py +0 -0
  189. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/session/telemetry.py +0 -0
  190. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/MODULE_README.md +0 -0
  191. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/__init__.py +0 -0
  192. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/executor.py +0 -0
  193. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/queries.py +0 -0
  194. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/registry.py +0 -0
  195. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/types.py +0 -0
  196. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/sql_executor/utils.py +0 -0
  197. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/state.py +0 -0
  198. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/utils/__init__.py +0 -0
  199. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/utils/sql_utils.py +0 -0
  200. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/utils/type_converters.py +0 -0
  201. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/matrx_orm/write_actor.py +0 -0
  202. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/scripts/git-branches.sh +0 -0
  203. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/scripts/publish.sh +0 -0
  204. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/scripts/release.sh +0 -0
  205. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/MODULE_README.md +0 -0
  206. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/__init__.py +0 -0
  207. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/conftest.py +0 -0
  208. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/MODULE_README.md +0 -0
  209. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/__init__.py +0 -0
  210. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_adapter_registry.py +0 -0
  211. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_admin_db_columns.py +0 -0
  212. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_admin_response_rendering.py +0 -0
  213. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_admin_search_negation.py +0 -0
  214. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_admin_search_sentinels.py +0 -0
  215. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_advisory_lock.py +0 -0
  216. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_agent_message.py +0 -0
  217. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_api_auth.py +0 -0
  218. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_api_config.py +0 -0
  219. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_api_handlers.py +0 -0
  220. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_api_protocol.py +0 -0
  221. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_array_agg_order_by.py +0 -0
  222. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_association_trigger_actor_naming.py +0 -0
  223. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_associations.py +0 -0
  224. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_associations_wiring.py +0 -0
  225. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_bulk_hydration_offload.py +0 -0
  226. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_bulk_update_by_pk.py +0 -0
  227. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
  228. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_cache_debug.py +0 -0
  229. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_call_function.py +0 -0
  230. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_case_when.py +0 -0
  231. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_catalog.py +0 -0
  232. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_committed_row_guard.py +0 -0
  233. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_composite_pk_filter.py +0 -0
  234. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_composite_pk_write_paths.py +0 -0
  235. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_config.py +0 -0
  236. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_conflict_target.py +0 -0
  237. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_conflict_writes.py +0 -0
  238. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_connection_codecs.py +0 -0
  239. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_connection_poison_guard.py +0 -0
  240. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_connection_primitives.py +0 -0
  241. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_count_composite_distinct.py +0 -0
  242. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_count_limit_param_leak.py +0 -0
  243. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_db_function_field.py +0 -0
  244. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_ddl_generator.py +0 -0
  245. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_deadlock_retry.py +0 -0
  246. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_derived_table.py +0 -0
  247. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_dirty_tracking.py +0 -0
  248. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_dynamic_crud.py +0 -0
  249. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_exceptions.py +0 -0
  250. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_execute_query_integrity_mapping.py +0 -0
  251. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_expression_primitives.py +0 -0
  252. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_fields.py +0 -0
  253. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
  254. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_fk_cycle_resolution.py +0 -0
  255. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_from_alias.py +0 -0
  256. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_fts.py +0 -0
  257. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_func_expression_args.py +0 -0
  258. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_graph_walk.py +0 -0
  259. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_having_annotate_alias.py +0 -0
  260. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
  261. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_introspect_rls_policies.py +0 -0
  262. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_join_and_aggregate.py +0 -0
  263. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_latest_rows.py +0 -0
  264. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_listen_notify.py +0 -0
  265. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_local_sqlite.py +0 -0
  266. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_lock_contention_retry.py +0 -0
  267. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_managed_write_guard.py +0 -0
  268. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_matrx_entity.py +0 -0
  269. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_migration_diff_types.py +0 -0
  270. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_migration_loader.py +0 -0
  271. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_model_instance.py +0 -0
  272. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_model_meta.py +0 -0
  273. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_optimistic_concurrency.py +0 -0
  274. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_order_by_expression.py +0 -0
  275. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_org_assignment_inventory.py +0 -0
  276. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_orm_banners_are_client_safe.py +0 -0
  277. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_parameter_name_hydration.py +0 -0
  278. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_patch_jsonb_path.py +0 -0
  279. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_percentile_cont.py +0 -0
  280. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_persisted_count.py +0 -0
  281. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_pool_create_never_wedges.py +0 -0
  282. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_pool_holder_census.py +0 -0
  283. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_pool_loop_recreation.py +0 -0
  284. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_pool_maintenance.py +0 -0
  285. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_postgrest_filters.py +0 -0
  286. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_pydantic_bridge.py +0 -0
  287. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_query_builder.py +0 -0
  288. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_query_error_detail.py +0 -0
  289. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_query_executor_sql.py +0 -0
  290. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_query_timeout.py +0 -0
  291. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
  292. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_queue_claim.py +0 -0
  293. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_read_connection_retry.py +0 -0
  294. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_registry.py +0 -0
  295. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_registry_multi_database.py +0 -0
  296. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_registry_multi_schema.py +0 -0
  297. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_relational_backfill.py +0 -0
  298. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_relations.py +0 -0
  299. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_resilience.py +0 -0
  300. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_rls_session_scope.py +0 -0
  301. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_schema_exists.py +0 -0
  302. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_session_advisory_lock.py +0 -0
  303. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_standalone_write_session_context.py +0 -0
  304. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_state_cache.py +0 -0
  305. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_subquery_filter_raw.py +0 -0
  306. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_subquery_in_filter.py +0 -0
  307. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_subquery_nested_expressions.py +0 -0
  308. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_supabase_auth.py +0 -0
  309. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_supabase_config.py +0 -0
  310. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_tls.py +0 -0
  311. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_transaction_database_identity.py +0 -0
  312. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_typed_join_projection.py +0 -0
  313. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_typed_predicates.py +0 -0
  314. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_update_case_expression.py +0 -0
  315. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_update_subquery.py +0 -0
  316. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_update_with_rebase.py +0 -0
  317. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_upsert_default_leak.py +0 -0
  318. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_upsert_with_conflict.py +0 -0
  319. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_values_jsonb_decode.py +0 -0
  320. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_watched_lifecycle.py +0 -0
  321. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_write_queue_deadline.py +0 -0
  322. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level1/test_write_retry_semantics.py +0 -0
  323. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/MODULE_README.md +0 -0
  324. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/__init__.py +0 -0
  325. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/conftest.py +0 -0
  326. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_bulk_ops.py +0 -0
  327. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_cache_integration.py +0 -0
  328. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_crud.py +0 -0
  329. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_foreign_keys.py +0 -0
  330. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_m2m.py +0 -0
  331. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_manager.py +0 -0
  332. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_migrations_live.py +0 -0
  333. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_query_execution.py +0 -0
  334. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/test_schema_diff.py +0 -0
  335. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/level2/verify_committed_row_guard_pg17.py +0 -0
  336. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/live_pooler_role.py +0 -0
  337. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/native_source_cases.py +0 -0
  338. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/native_source_oracle.rs +0 -0
  339. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/.env.example +0 -0
  340. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/README.md +0 -0
  341. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/__init__.py +0 -0
  342. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/generate.py +0 -0
  343. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/generated/.gitkeep +0 -0
  344. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/matrx_orm.yaml +0 -0
  345. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project/test_schema_generation.py +0 -0
  346. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/.env.example +0 -0
  347. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/README.md +0 -0
  348. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/__init__.py +0 -0
  349. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/client_example.py +0 -0
  350. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/client_example.ts +0 -0
  351. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/client_supabase_example.py +0 -0
  352. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/sample_project_desktop/server.py +0 -0
  353. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/entity_tests.py +0 -0
  354. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_base_generation.py +0 -0
  355. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_composite_pk_fk_generation.py +0 -0
  356. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_composite_unique_generation.py +0 -0
  357. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_dto_identity_generation.py +0 -0
  358. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_entity_capability_generation.py +0 -0
  359. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_enum_ordering.py +0 -0
  360. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_generate_schema.py +0 -0
  361. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_junction_analysis.py +0 -0
  362. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_multi_schema_output.py +0 -0
  363. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_schema_analysis.py +0 -0
  364. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_sql_expression_defaults.py +0 -0
  365. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_table_relationships_query.py +0 -0
  366. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema/test_view_generation.py +0 -0
  367. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema_builder/test_array_default_parsing.py +0 -0
  368. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema_builder/test_focused_generation_plan.py +0 -0
  369. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/schema_builder/test_host_models_aggregator.py +0 -0
  370. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/__init__.py +0 -0
  371. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/conftest.py +0 -0
  372. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_a_failed_capture_still_names_the_failure.py +0 -0
  373. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_cache_no_downgrade.py +0 -0
  374. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_capture_poison_proof.py +0 -0
  375. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_coalesce.py +0 -0
  376. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_dag.py +0 -0
  377. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_disk_spill_fallback.py +0 -0
  378. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_flush_individual_fallback.py +0 -0
  379. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_governed_write.py +0 -0
  380. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_live_db_guard_plugin.py +0 -0
  381. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_managed.py +0 -0
  382. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_op_enqueue_site.py +0 -0
  383. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_reads.py +0 -0
  384. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_record_error_bounded_insert.py +0 -0
  385. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_record_error_storm.py +0 -0
  386. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_session.py +0 -0
  387. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/session/test_spill_guard_plugin.py +0 -0
  388. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_array_arg_element_type.py +0 -0
  389. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_attachment_mutation_serialization.py +0 -0
  390. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_backup_alias_conflict.py +0 -0
  391. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_backup_history_restore.py +0 -0
  392. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_backup_restore_live.py +0 -0
  393. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_composite_fk_is_not_a_column_fk.py +0 -0
  394. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_database_name_alias.py +0 -0
  395. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_db_functions.py +0 -0
  396. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_dsn_password_masking.py +0 -0
  397. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_dynamic_select_unregistered.py +0 -0
  398. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_immutable_insert_or_exact_verify.py +0 -0
  399. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_keyed_digest.py +0 -0
  400. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_model_cls_refactor.py +0 -0
  401. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_native_enable.py +0 -0
  402. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_native_lifecycle.py +0 -0
  403. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_native_lifecycle_fences.py +0 -0
  404. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_native_passkey_receipts.py +0 -0
  405. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_native_source.py +0 -0
  406. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_no_blocking_asyncpg_tls.py +0 -0
  407. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_one_database.py +0 -0
  408. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_order_by_desc_nulls_last.py +0 -0
  409. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_pooler_role_guard.py +0 -0
  410. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_secret_audit_names_its_organization.py +0 -0
  411. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_secrets_minting_keys.py +0 -0
  412. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_shared_lock_guard.py +0 -0
  413. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_sql_param_casts.py +0 -0
  414. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_sync_twins_guard.py +0 -0
  415. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_user_visible_lookup.py +0 -0
  416. {matrx_orm-3.1.185 → matrx_orm-3.1.186}/tests/test_vault_aggregate_recovery_stateful.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: matrx-orm
3
- Version: 3.1.185
3
+ Version: 3.1.186
4
4
  Summary: Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching
5
5
  Project-URL: Homepage, https://github.com/AI-Matrix-Engine/aidream-current
6
6
  Project-URL: Repository, https://github.com/AI-Matrix-Engine/aidream-current
@@ -228,6 +228,15 @@ class UpdateResult:
228
228
  rows_affected: int
229
229
  updated_rows: list[dict[str, Any]]
230
230
 
231
+ def __bool__(self) -> bool:
232
+ """True only when the UPDATE changed a row.
233
+
234
+ A dataclass without this is ALWAYS truthy, so ``if await q.update(...):``
235
+ read as "it changed something" even at zero rows — the runtime reaper
236
+ soft-deleted a stream's frames on that false yes (found 2026-09-26).
237
+ """
238
+ return self.rows_affected > 0
239
+
231
240
  def to_dict(self) -> dict[str, Any]:
232
241
  """Serialise to the legacy dict shape for JSON / API boundaries."""
233
242
  return {
@@ -33,22 +33,20 @@ charset-validated here — `provider_key`, `display_name`, `tags`, `status`,
33
33
  alias (nullable). A DB trigger (`trg_user_secrets_owner_match`) rejects any field
34
34
  row whose owner columns don't match its item's owner.
35
35
 
36
- **History foundation (capture disabled).** Migration 1034 adds a nonnegative,
37
- server-managed `history_revision` item counter, but the ORM does not map it until
38
- the history migrations are installed on every target: mapping it early makes
39
- ordinary item creation fail with a missing-column error. No battery mutation
40
- currently writes history. Migrations 1035 and 1036 keep the private
41
- `vault_history_writer` personal-only and enforce the closed v1 envelope: exact
42
- keys, typed identifiers and timestamp, locked original ownership, and empty
43
- component arrays. Organization-owned history refuses until the host supplies the
44
- grant/offboarding parent-lock contract. Future aggregate capture may use the
45
- revision-1/revision-2 bootstrap only after its producer, authority, retention,
46
- rotation, and reader gates are independently accepted. Gate B's source-only
47
- 1047 validator freezes one personal, active ordinary password field shape: its
48
- first recorded update is an A=A bootstrap followed by A→B, and later records
49
- are one prior-after-matched delta each. Application capture is explicitly off
50
- until every producer and reader gate is accepted; 1047 is never applied outside
51
- the named runner's reviewed rehearsal.
36
+ **Personal-password history.** The installed history counter is mapped and the
37
+ ordinary personal-password capture gate is on. Battery mutations record the
38
+ closed v1 chain under the private writer: revision 1 is an A=A bootstrap and
39
+ later revisions are prior-after-matched deltas. Migrations 1035 and 1036 keep the private
40
+ `vault_history_writer` personal-only and establish the closed v1 envelope.
41
+ Installed migration 1047 requires exact keys, typed identifiers and timestamp,
42
+ locked original ownership, and exactly one manifest and one changed component
43
+ bound to the locked active personal password field. Organization-owned history refuses until the host supplies the
44
+ grant/offboarding parent-lock contract. Capture, list/reveal, and restore are
45
+ backend capabilities for this bounded personal-password chain. Migration 1166
46
+ is reviewed and enabled in source; installed behavior requires the migration
47
+ ledger and exact live validator bodies. The physical history timestamp remains
48
+ the destination audit time, while authenticated backup source dates are retained
49
+ separately when the installed contract supports them.
52
50
 
53
51
  Items may also own N encrypted **file attachments**
54
52
  (`users.credential_attachments`). An attachment has its own stable id,
@@ -391,9 +389,11 @@ delete).
391
389
  replacement, matching the host bulk reader's revocation order. A focused
392
390
  ordering test fails if deletion moves ahead of the parent lock.
393
391
 
394
- - **2026-09-24** — Migration 1036 closes the personal-only Vault revision envelope and refuses organization history pending the canonical grant/offboarding parent lock; capture remains disabled.
395
-
396
- - **2026-09-24** — Kept the history counter out of the ORM until migrations are installed; the branch database lacks the column and a premature model mapping broke ordinary Vault creation. Capture remains disabled.
392
+ - **2026-09-26** — The personal-password capture gate is on. The battery maps
393
+ the installed history counter and maintains the bounded A=A then A→B chain;
394
+ organization history remains refused pending the canonical grant/offboarding
395
+ parent lock. Guarded migration 1166 does not yet provide backup source-date
396
+ fidelity.
397
397
 
398
398
  - **2026-09-19** — Restored native lifecycle metadata with the parsed, timezone-aware manifest instant at the typed mutation boundary, preserving the manifest string for aggregate integrity checks.
399
399
 
@@ -90,9 +90,9 @@ ITEM_SOURCES: tuple[str, ...] = (
90
90
  "system_import",
91
91
  )
92
92
 
93
- # Gate B is source-complete only. Turning this on would make history appear
94
- # complete while sibling producers and readers still omit revisions.
95
- _PASSWORD_HISTORY_CAPTURE_ENABLED = False
93
+ # Eligible personal password writes capture their prior value and the new
94
+ # value atomically. Organization history remains outside this boundary.
95
+ _PASSWORD_HISTORY_CAPTURE_ENABLED = True
96
96
 
97
97
 
98
98
  class CredentialItemNotFoundError(LookupError):
@@ -1296,9 +1296,8 @@ def _captures_personal_password_history(
1296
1296
  ) -> bool:
1297
1297
  """Return whether this locked row belongs in the private password history.
1298
1298
 
1299
- The module-local gate remains deliberately false in production. Keeping
1300
- eligibility here gives every existing-field ciphertext writer the same
1301
- future activation boundary without adding a caller-controlled switch.
1299
+ The module-local gate keeps every existing-field ciphertext writer behind
1300
+ the same eligibility boundary without adding a caller-controlled switch.
1302
1301
  """
1303
1302
  return (
1304
1303
  _PASSWORD_HISTORY_CAPTURE_ENABLED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "matrx-orm"
3
- version = "3.1.185"
3
+ version = "3.1.186"
4
4
  description = "Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -1324,17 +1324,17 @@ async def test_second_history_write_failure_propagates_from_atomic_transaction(m
1324
1324
  assert updates # The real transaction owns this statement and rolls it back on the propagated failure.
1325
1325
 
1326
1326
 
1327
- def test_password_history_capture_is_off_and_not_a_public_writer_option():
1327
+ def test_password_history_capture_is_on_and_not_a_public_writer_option():
1328
1328
  from matrx_orm.secrets_battery import items
1329
1329
 
1330
- assert items._PASSWORD_HISTORY_CAPTURE_ENABLED is False
1330
+ assert items._PASSWORD_HISTORY_CAPTURE_ENABLED is True
1331
1331
  for writer in (items.update_credential_field_value, items.rotate_credential_fields):
1332
1332
  assert "capture" not in inspect.signature(writer).parameters
1333
1333
 
1334
1334
 
1335
1335
  @pytest.mark.asyncio
1336
1336
  async def test_enabled_history_capture_chains_two_writers_and_rolls_back(monkeypatch):
1337
- """The private switch is test-only: a failed append restores field and chain."""
1337
+ """An active capture writer propagates append failure so the transaction rolls back."""
1338
1338
  from matrx_orm.secrets_battery import items
1339
1339
 
1340
1340
  monkeypatch.setenv("CREDENTIALS_ENCRYPTION_KEY", _fernet_key())
@@ -0,0 +1,6 @@
1
+ from matrx_orm.core.types import UpdateResult
2
+
3
+
4
+ def test_an_update_that_changed_nothing_is_falsy() -> None:
5
+ assert not UpdateResult(rows_affected=0, updated_rows=[])
6
+ assert UpdateResult(rows_affected=2, updated_rows=[{}, {}])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes