matrx-orm 3.1.209__tar.gz → 3.1.211__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 (437) hide show
  1. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/CLAUDE.md +1 -1
  2. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/PKG-INFO +1 -1
  3. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/FEATURE.md +2 -2
  4. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/crypto.py +16 -0
  5. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/items.py +6 -6
  6. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/pyproject.toml +1 -1
  7. matrx_orm-3.1.211/tests/test_a_sealed_field_shows_no_character_of_its_value.py +51 -0
  8. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_secrets_minting_keys.py +1 -1
  9. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/.gitignore +0 -0
  10. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/AGENTS.md +0 -0
  11. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/BASE_CLASS_METHODS.md +0 -0
  12. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/CHANGELOG.md +0 -0
  13. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/MODEL_API.md +0 -0
  14. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/README.md +0 -0
  15. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/database/orm/extended/managers/ai_model_base.py +0 -0
  16. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/docs/migrations.md +0 -0
  17. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/FEATURE.md +0 -0
  18. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/MODULE_README.md +0 -0
  19. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/__init__.py +0 -0
  20. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/MODULE_README.md +0 -0
  21. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/__init__.py +0 -0
  22. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/async_postgresql.py +0 -0
  23. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/base_adapter.py +0 -0
  24. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
  25. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/adapters/supabase_adapter.py +0 -0
  26. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/admin/FEATURE.md +0 -0
  27. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/admin/__init__.py +0 -0
  28. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/admin/router.py +0 -0
  29. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/__init__.py +0 -0
  30. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/auth.py +0 -0
  31. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/config.py +0 -0
  32. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/handlers.py +0 -0
  33. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/protocol.py +0 -0
  34. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/api/server.py +0 -0
  35. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/associations.py +0 -0
  36. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/cache_debug.py +0 -0
  37. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/catalog.py +0 -0
  38. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/catalog_sql.py +0 -0
  39. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/MODULE_README.md +0 -0
  40. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/__init__.py +0 -0
  41. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/postgres_connection.py +0 -0
  42. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/postgrest.py +0 -0
  43. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/supabase_auth.py +0 -0
  44. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/supabase_config.py +0 -0
  45. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/client/supabase_manager.py +0 -0
  46. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/EXTENDED-TASK.md +0 -0
  47. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/FEATURE.md +0 -0
  48. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/MODULE_README.md +0 -0
  49. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
  50. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/TASKS.md +0 -0
  51. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/__init__.py +0 -0
  52. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/admin_lane.py +0 -0
  53. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/async_db_manager.py +0 -0
  54. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/base.py +0 -0
  55. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/config.py +0 -0
  56. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/connections.py +0 -0
  57. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/db_function.py +0 -0
  58. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/diagnostics.py +0 -0
  59. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/expressions.py +0 -0
  60. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/extended.py +0 -0
  61. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/fields.py +0 -0
  62. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/introspection.py +0 -0
  63. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/listen.py +0 -0
  64. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/loop_filters.py +0 -0
  65. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/model_dto.py +0 -0
  66. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/model_view.py +0 -0
  67. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/one_database.py +0 -0
  68. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/paginator.py +0 -0
  69. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/pool_maintenance.py +0 -0
  70. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/pool_watch.py +0 -0
  71. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/pooler_role.py +0 -0
  72. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/pydantic_bridge.py +0 -0
  73. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/read_write.py +0 -0
  74. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/registry.py +0 -0
  75. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/relations.py +0 -0
  76. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/resilience.py +0 -0
  77. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/rls_session.py +0 -0
  78. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/session_context.py +0 -0
  79. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/signals.py +0 -0
  80. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/statement_ceiling.py +0 -0
  81. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/tls.py +0 -0
  82. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/transaction.py +0 -0
  83. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/types.py +0 -0
  84. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/write_queue.py +0 -0
  85. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/core/write_retry.py +0 -0
  86. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/entity.py +0 -0
  87. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/error_handling.py +0 -0
  88. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/exceptions.py +0 -0
  89. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/extended/__init__.py +0 -0
  90. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/extended/app_error_handler.py +0 -0
  91. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/identity_rule.py +0 -0
  92. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/local_sqlite.py +0 -0
  93. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/matrx_orm_production_door.pth +0 -0
  94. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/middleware/__init__.py +0 -0
  95. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/middleware/base.py +0 -0
  96. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/MODULE_README.md +0 -0
  97. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/__init__.py +0 -0
  98. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/cli.py +0 -0
  99. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/ddl.py +0 -0
  100. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/diff.py +0 -0
  101. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/executor.py +0 -0
  102. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/integration.py +0 -0
  103. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/loader.py +0 -0
  104. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/operations.py +0 -0
  105. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/state.py +0 -0
  106. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/migrations/table_filter.py +0 -0
  107. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/no_org_assignment.py +0 -0
  108. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/FEATURE.md +0 -0
  109. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/MODULE_README.md +0 -0
  110. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/__init__.py +0 -0
  111. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/bulk_update_values.py +0 -0
  112. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/catalog_select.py +0 -0
  113. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/conflict.py +0 -0
  114. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/conflict_writes.py +0 -0
  115. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/create.py +0 -0
  116. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/db_functions.py +0 -0
  117. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/delete.py +0 -0
  118. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/dynamic_admin.py +0 -0
  119. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/dynamic_crud.py +0 -0
  120. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/graph_walk.py +0 -0
  121. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/latest_rows.py +0 -0
  122. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/queue_claim.py +0 -0
  123. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/read.py +0 -0
  124. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/relational_backfill.py +0 -0
  125. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/staging_load.py +0 -0
  126. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/operations/update.py +0 -0
  127. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/platform_access.py +0 -0
  128. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/platform_db.py +0 -0
  129. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/py.typed +0 -0
  130. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/pytest_live_db_guard.py +0 -0
  131. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/pytest_lock_guard.py +0 -0
  132. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/pytest_plugin.py +0 -0
  133. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/pytest_production_door.py +0 -0
  134. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/python_sql/MODULE_README.md +0 -0
  135. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/python_sql/__init__.py +0 -0
  136. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/python_sql/db_objects.py +0 -0
  137. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
  138. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
  139. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/query/FEATURE.md +0 -0
  140. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/query/MODULE_README.md +0 -0
  141. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/query/__init__.py +0 -0
  142. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/query/builder.py +0 -0
  143. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/query/executor.py +0 -0
  144. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/resources/__init__.py +0 -0
  145. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/resources/additional-assigners-2026-09-12.json +0 -0
  146. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/resources/org_assignment_trigger_baseline.json +0 -0
  147. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/FEATURE.md +0 -0
  148. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/MODULE_README.md +0 -0
  149. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/__init__.py +0 -0
  150. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/code_handler.py +0 -0
  151. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/codegen_writer.py +0 -0
  152. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/columns.py +0 -0
  153. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/common.py +0 -0
  154. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/diff_preview.py +0 -0
  155. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
  156. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/excluded_targets.py +0 -0
  157. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/generator.py +0 -0
  158. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
  159. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
  160. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
  161. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
  162. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/package_wiring.py +0 -0
  163. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/relationships.py +0 -0
  164. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/runner.py +0 -0
  165. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/schema.py +0 -0
  166. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/schema_manager.py +0 -0
  167. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/tables.py +0 -0
  168. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/schema_builder/views.py +0 -0
  169. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/__init__.py +0 -0
  170. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/attachments.py +0 -0
  171. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/backup_restore.py +0 -0
  172. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/host_authorization.py +0 -0
  173. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/model.py +0 -0
  174. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/mutation_receipts.py +0 -0
  175. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/native_enable.py +0 -0
  176. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/native_lifecycle.py +0 -0
  177. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/native_passkeys.py +0 -0
  178. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/native_source.py +0 -0
  179. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/org_service.py +0 -0
  180. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/org_vault_gate.py +0 -0
  181. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/service.py +0 -0
  182. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/secrets_battery/vault_history.py +0 -0
  183. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/README.md +0 -0
  184. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/__init__.py +0 -0
  185. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/coalesce.py +0 -0
  186. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/dag.py +0 -0
  187. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/errors.py +0 -0
  188. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/fallback.py +0 -0
  189. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/flush.py +0 -0
  190. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/lifecycle.py +0 -0
  191. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/managed.py +0 -0
  192. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/op.py +0 -0
  193. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/reads.py +0 -0
  194. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/session.py +0 -0
  195. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/session/telemetry.py +0 -0
  196. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/MODULE_README.md +0 -0
  197. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/__init__.py +0 -0
  198. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/executor.py +0 -0
  199. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/queries.py +0 -0
  200. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/registry.py +0 -0
  201. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/types.py +0 -0
  202. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/sql_executor/utils.py +0 -0
  203. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/state.py +0 -0
  204. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/utils/__init__.py +0 -0
  205. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/utils/sql_utils.py +0 -0
  206. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/utils/type_converters.py +0 -0
  207. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/matrx_orm/write_actor.py +0 -0
  208. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/scripts/git-branches.sh +0 -0
  209. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/scripts/publish.sh +0 -0
  210. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/scripts/release.sh +0 -0
  211. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/MODULE_README.md +0 -0
  212. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/__init__.py +0 -0
  213. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/conftest.py +0 -0
  214. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/MODULE_README.md +0 -0
  215. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/__init__.py +0 -0
  216. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_adapter_registry.py +0 -0
  217. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_admin_db_columns.py +0 -0
  218. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_admin_response_rendering.py +0 -0
  219. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_admin_search_negation.py +0 -0
  220. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_admin_search_sentinels.py +0 -0
  221. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_advisory_lock.py +0 -0
  222. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_agent_message.py +0 -0
  223. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_api_auth.py +0 -0
  224. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_api_config.py +0 -0
  225. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_api_handlers.py +0 -0
  226. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_api_protocol.py +0 -0
  227. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_array_agg_order_by.py +0 -0
  228. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_association_trigger_actor_naming.py +0 -0
  229. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_associations.py +0 -0
  230. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_associations_wiring.py +0 -0
  231. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_bulk_hydration_offload.py +0 -0
  232. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_bulk_update_by_pk.py +0 -0
  233. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
  234. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_cache_debug.py +0 -0
  235. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_call_function.py +0 -0
  236. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_case_when.py +0 -0
  237. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_catalog.py +0 -0
  238. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_column_scoped_writes.py +0 -0
  239. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_committed_row_guard.py +0 -0
  240. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_composite_pk_filter.py +0 -0
  241. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_composite_pk_write_paths.py +0 -0
  242. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_config.py +0 -0
  243. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_conflict_target.py +0 -0
  244. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_conflict_writes.py +0 -0
  245. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_connection_codecs.py +0 -0
  246. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_connection_poison_guard.py +0 -0
  247. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_connection_primitives.py +0 -0
  248. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_count_composite_distinct.py +0 -0
  249. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_count_limit_param_leak.py +0 -0
  250. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_db_function_field.py +0 -0
  251. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_ddl_generator.py +0 -0
  252. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_deadlock_retry.py +0 -0
  253. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_derived_table.py +0 -0
  254. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_dirty_tracking.py +0 -0
  255. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_dynamic_crud.py +0 -0
  256. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_exceptions.py +0 -0
  257. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_execute_query_integrity_mapping.py +0 -0
  258. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_expression_primitives.py +0 -0
  259. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_fields.py +0 -0
  260. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
  261. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_fk_cycle_resolution.py +0 -0
  262. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_from_alias.py +0 -0
  263. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_fts.py +0 -0
  264. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_func_expression_args.py +0 -0
  265. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_graph_walk.py +0 -0
  266. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_having_annotate_alias.py +0 -0
  267. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
  268. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_introspect_rls_policies.py +0 -0
  269. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_join_and_aggregate.py +0 -0
  270. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_latest_rows.py +0 -0
  271. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_listen_notify.py +0 -0
  272. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_local_sqlite.py +0 -0
  273. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_lock_contention_retry.py +0 -0
  274. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_managed_write_guard.py +0 -0
  275. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_matrx_entity.py +0 -0
  276. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_migration_diff_types.py +0 -0
  277. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_migration_loader.py +0 -0
  278. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_model_instance.py +0 -0
  279. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_model_meta.py +0 -0
  280. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_optimistic_concurrency.py +0 -0
  281. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_order_by_expression.py +0 -0
  282. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_org_assignment_inventory.py +0 -0
  283. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_orm_banners_are_client_safe.py +0 -0
  284. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_parameter_name_hydration.py +0 -0
  285. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_patch_jsonb_path.py +0 -0
  286. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_percentile_cont.py +0 -0
  287. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_persisted_count.py +0 -0
  288. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_person_scoped_session_bypasses_shared_cache.py +0 -0
  289. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_pool_create_never_wedges.py +0 -0
  290. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_pool_holder_census.py +0 -0
  291. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_pool_loop_recreation.py +0 -0
  292. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_pool_maintenance.py +0 -0
  293. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_postgrest_filters.py +0 -0
  294. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_pydantic_bridge.py +0 -0
  295. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_query_builder.py +0 -0
  296. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_query_error_detail.py +0 -0
  297. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_query_executor_sql.py +0 -0
  298. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_query_timeout.py +0 -0
  299. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
  300. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_queue_claim.py +0 -0
  301. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_read_connection_retry.py +0 -0
  302. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_read_write_declared.py +0 -0
  303. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_registry.py +0 -0
  304. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_registry_multi_database.py +0 -0
  305. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_registry_multi_schema.py +0 -0
  306. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_relational_backfill.py +0 -0
  307. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_relations.py +0 -0
  308. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_resilience.py +0 -0
  309. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_rls_session_scope.py +0 -0
  310. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_schema_exists.py +0 -0
  311. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_session_advisory_lock.py +0 -0
  312. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_standalone_write_session_context.py +0 -0
  313. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_state_cache.py +0 -0
  314. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_subquery_filter_raw.py +0 -0
  315. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_subquery_in_filter.py +0 -0
  316. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_subquery_nested_expressions.py +0 -0
  317. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_supabase_auth.py +0 -0
  318. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_supabase_config.py +0 -0
  319. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_tls.py +0 -0
  320. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_transaction_database_identity.py +0 -0
  321. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_transaction_gucs_one_round_trip.py +0 -0
  322. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_transaction_pool_release_sends_nothing.py +0 -0
  323. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_typed_join_projection.py +0 -0
  324. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_typed_predicates.py +0 -0
  325. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_update_case_expression.py +0 -0
  326. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_update_subquery.py +0 -0
  327. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_update_with_rebase.py +0 -0
  328. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_upsert_default_leak.py +0 -0
  329. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_upsert_with_conflict.py +0 -0
  330. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_values_jsonb_decode.py +0 -0
  331. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_watched_lifecycle.py +0 -0
  332. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_write_queue_deadline.py +0 -0
  333. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level1/test_write_retry_semantics.py +0 -0
  334. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/MODULE_README.md +0 -0
  335. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/__init__.py +0 -0
  336. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/conftest.py +0 -0
  337. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_bulk_ops.py +0 -0
  338. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_cache_integration.py +0 -0
  339. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_crud.py +0 -0
  340. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_foreign_keys.py +0 -0
  341. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_m2m.py +0 -0
  342. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_manager.py +0 -0
  343. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_migrations_live.py +0 -0
  344. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_query_execution.py +0 -0
  345. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/test_schema_diff.py +0 -0
  346. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/level2/verify_committed_row_guard_pg17.py +0 -0
  347. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/live_pooler_role.py +0 -0
  348. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/native_source_cases.py +0 -0
  349. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/native_source_oracle.rs +0 -0
  350. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/.env.example +0 -0
  351. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/README.md +0 -0
  352. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/__init__.py +0 -0
  353. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/generate.py +0 -0
  354. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/generated/.gitkeep +0 -0
  355. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/matrx_orm.yaml +0 -0
  356. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project/test_schema_generation.py +0 -0
  357. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/.env.example +0 -0
  358. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/README.md +0 -0
  359. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/__init__.py +0 -0
  360. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/client_example.py +0 -0
  361. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/client_example.ts +0 -0
  362. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/client_supabase_example.py +0 -0
  363. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/sample_project_desktop/server.py +0 -0
  364. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/entity_tests.py +0 -0
  365. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_base_generation.py +0 -0
  366. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_composite_pk_fk_generation.py +0 -0
  367. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_composite_unique_generation.py +0 -0
  368. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_dto_identity_generation.py +0 -0
  369. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_entity_capability_generation.py +0 -0
  370. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_enum_ordering.py +0 -0
  371. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_excluded_fk_targets.py +0 -0
  372. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_generate_schema.py +0 -0
  373. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_junction_analysis.py +0 -0
  374. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_multi_schema_output.py +0 -0
  375. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_schema_analysis.py +0 -0
  376. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_sql_expression_defaults.py +0 -0
  377. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_table_relationships_query.py +0 -0
  378. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema/test_view_generation.py +0 -0
  379. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema_builder/test_array_default_parsing.py +0 -0
  380. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema_builder/test_focused_generation_plan.py +0 -0
  381. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema_builder/test_host_models_aggregator.py +0 -0
  382. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/schema_builder/test_never_filter_columns.py +0 -0
  383. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/__init__.py +0 -0
  384. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/conftest.py +0 -0
  385. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_a_failed_capture_still_names_the_failure.py +0 -0
  386. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_cache_no_downgrade.py +0 -0
  387. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_capture_poison_proof.py +0 -0
  388. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_coalesce.py +0 -0
  389. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_dag.py +0 -0
  390. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_disk_spill_fallback.py +0 -0
  391. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_flush_individual_fallback.py +0 -0
  392. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_governed_write.py +0 -0
  393. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_live_db_guard_plugin.py +0 -0
  394. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_managed.py +0 -0
  395. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_op_enqueue_site.py +0 -0
  396. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_reads.py +0 -0
  397. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_record_error_bounded_insert.py +0 -0
  398. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_record_error_storm.py +0 -0
  399. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_session.py +0 -0
  400. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/session/test_spill_guard_plugin.py +0 -0
  401. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_a_backend_handed_over_mid_transaction_never_takes_our_writes.py +0 -0
  402. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_a_list_of_uuids_binds_as_uuid_array.py +0 -0
  403. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_a_read_only_backend_never_refuses_our_writes.py +0 -0
  404. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_array_arg_element_type.py +0 -0
  405. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_attachment_mutation_serialization.py +0 -0
  406. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_backup_alias_conflict.py +0 -0
  407. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_backup_history_restore.py +0 -0
  408. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_backup_restore_live.py +0 -0
  409. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_call_function_as.py +0 -0
  410. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_call_function_none_mode.py +0 -0
  411. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_composite_fk_is_not_a_column_fk.py +0 -0
  412. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_database_name_alias.py +0 -0
  413. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_db_functions.py +0 -0
  414. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_dsn_password_masking.py +0 -0
  415. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_dynamic_select_unregistered.py +0 -0
  416. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_immutable_insert_or_exact_verify.py +0 -0
  417. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_keyed_digest.py +0 -0
  418. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_model_cls_refactor.py +0 -0
  419. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_native_enable.py +0 -0
  420. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_native_lifecycle.py +0 -0
  421. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_native_lifecycle_fences.py +0 -0
  422. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_native_passkey_receipts.py +0 -0
  423. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_native_source.py +0 -0
  424. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_no_blocking_asyncpg_tls.py +0 -0
  425. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_one_database.py +0 -0
  426. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_order_by_desc_nulls_last.py +0 -0
  427. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_org_vault_gate.py +0 -0
  428. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_pooler_role_guard.py +0 -0
  429. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_secret_audit_names_its_organization.py +0 -0
  430. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_secrets_battery.py +0 -0
  431. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_shared_lock_guard.py +0 -0
  432. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_sql_param_casts.py +0 -0
  433. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_statement_ceiling_warning.py +0 -0
  434. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_sync_twins_guard.py +0 -0
  435. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_update_result_truthiness.py +0 -0
  436. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_user_visible_lookup.py +0 -0
  437. {matrx_orm-3.1.209 → matrx_orm-3.1.211}/tests/test_vault_aggregate_recovery_stateful.py +0 -0
@@ -1,6 +1,6 @@
1
1
  # CLAUDE.md — matrx-orm
2
2
 
3
- > 🟢 **RETIREMENT DECIDED 2026-08-22:** this package is being replaced by SQLAlchemy 2 + Alembic under a thin opinion layer and extracted to its own repo. Cross-repo system-of-record: /Users/armanisadeghi/code/common-docs/projects/orm-switch/PLAN.md — read it before touching this feature in ANY repo.
3
+ > 🟢 **RETIREMENT DECIDED 2026-08-22:** this package is being replaced by SQLAlchemy 2 + Alembic under a thin opinion layer and extracted to its own repo. Cross-repo system-of-record: /Users/armanisadeghi/code/common-docs/systems/architecture/database/orm-persistence/projects/orm-switch/PLAN.md — read it before touching this feature in ANY repo.
4
4
 
5
5
  > **Operating Principle: Build the platform, not the artifact.** Every task is a probe that exposes a missing capability — build it, then consume it. Code that only serves one artifact is forbidden. Full doctrine: [/PRINCIPLES.md](../../PRINCIPLES.md).
6
6
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: matrx-orm
3
- Version: 3.1.209
3
+ Version: 3.1.211
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
@@ -1,6 +1,6 @@
1
1
  # matrx-orm secrets battery — the ONE credential vault
2
2
 
3
- > Cross-repo plan (implementation authority): `/Users/armanisadeghi/code/common-docs/projects/unified-credential-vault/PLAN.md` — read it before expanding credential storage or package resolution in any repository. Phase 1 (schema) + Phase 2 (this battery's item layer, rotation script, unified aidream service) are live.
3
+ > Cross-repo plan (implementation authority): `/Users/armanisadeghi/code/common-docs/systems/account/vault-secrets/FEATURE.md` — read it before expanding credential storage or package resolution in any repository. Phase 1 (schema) + Phase 2 (this battery's item layer, rotation script, unified aidream service) are live.
4
4
 
5
5
  **One table, one key, everywhere.** Every platform credential — personal AND
6
6
  organizational — lives in `users.user_secrets` (Fernet-encrypted). Every package
@@ -84,7 +84,7 @@ ownership/shape helper and does not decrypt.
84
84
 
85
85
  **Native source admission (`native_source.py`).** `validate_native_source` is the server reader of the provider's exact source-v1 byte format; Rust remains the encoder and authenticator. It requires an explicit positive source-size limit, preserves nullable names and bytes, rejects duplicate/noncanonical JSON and COSE, and derives public metadata only after maintained P-256 key-pair validation. The result is provider-custody data, never a response model or generic field. `repr` and fixed failures omit material. `scripts/check_native_source_parity.py --rust-core <native-vault-provider/core>` compares the real compiled Rust reader against the server corpus; no mocked oracle. This prerequisite adds no creator, materializer, database row or native readiness. Verified September19 against132 focused tests and525 cross-language cases.
86
86
 
87
- **Native lifecycle component (`native_lifecycle.py`).** The shared coordinator must supply locked parent/child projections from the exported field constants, current host management authority and its active transaction. Inspection locks the exact native metadata child; component delete/restore mutate only that child's tombstone and lifecycle. Deletion accepts active and restored-quarantined sources; recovery compares aware ISO manifest timestamps to database timestamps, then parses the already-validated manifest instant only at the typed native restore mutation boundary. Personal metadata provenance is enforced by the database guard, never inferred from the request scope. Coordinator/preview integration and actual aggregate database acceptance remain pending; these helpers alone do not enable protected recovery. Contract: [native lifecycle](../../../../../common-docs/projects/credential-sharing-browser-login/NATIVE-LIFECYCLE.md).
87
+ **Native lifecycle component (`native_lifecycle.py`).** The shared coordinator must supply locked parent/child projections from the exported field constants, current host management authority and its active transaction. Inspection locks the exact native metadata child; component delete/restore mutate only that child's tombstone and lifecycle. Deletion accepts active and restored-quarantined sources; recovery compares aware ISO manifest timestamps to database timestamps, then parses the already-validated manifest instant only at the typed native restore mutation boundary. Personal metadata provenance is enforced by the database guard, never inferred from the request scope. Coordinator/preview integration and actual aggregate database acceptance remain pending; these helpers alone do not enable protected recovery. Contract: [native lifecycle](../../../../../common-docs/projects/credential-sharing-browser-login/REGISTER.md).
88
88
 
89
89
  **`inject_into_sandbox=true` REQUIRES an env alias — refused otherwise.** A
90
90
  container environment is a NAME→value map, so a field with `key IS NULL` has
@@ -255,6 +255,21 @@ def mask_value(plaintext: str) -> str:
255
255
  return f"{plaintext[:head_len]}…{plaintext[-head_len:]}"
256
256
 
257
257
 
258
+ def hint_for(handling: str | None, plaintext: str) -> str:
259
+ """The ``value_hint`` a stored field may carry: ``mask_value`` for a field a person may see
260
+ again, and NOTHING for a ``sealed`` one.
261
+
262
+ A sealed field is a value nobody can ever read back — a connection string, an authenticator
263
+ seed — and its hint goes to every client that lists the item. ``postg…uire`` is eight
264
+ characters of a secret handed to a browser (lane VISION-REACH, verifier 2026-10-03); the
265
+ first and last four of a connection string are its scheme and its ``sslmode``, but the
266
+ rule is the class, not the sample: no character of a sealed value leaves the server.
267
+ """
268
+ if handling == "sealed":
269
+ return ""
270
+ return mask_value(plaintext)
271
+
272
+
258
273
  __all__ = [
259
274
  "configure_encryption",
260
275
  "fernet_for_key",
@@ -270,4 +285,5 @@ __all__ = [
270
285
  "derive_hmac_key",
271
286
  "keyed_digest",
272
287
  "mask_value",
288
+ "hint_for",
273
289
  ]
@@ -30,7 +30,7 @@ from typing import Any
30
30
 
31
31
  from matrx_orm import transaction
32
32
 
33
- from .crypto import decrypt_value, encrypt_value, mask_value
33
+ from .crypto import decrypt_value, encrypt_value, hint_for
34
34
  from .host_authorization import CAPABILITY_MANAGE, require_host_authorization
35
35
  from .model import PACKAGE_DB_NAME, CredentialAttachment, CredentialItem, UserSecret, UserSecretGrant
36
36
  from .org_service import audit_organization, record_secret_audit
@@ -55,7 +55,7 @@ copied into a fork.
55
55
  A field lands here when possessing it MINTS future access rather than merely
56
56
  holding a value someone already gave you — an authenticator seed generates
57
57
  every future code for the account, forever, with nothing recording it. D-15
58
- (``common-docs/projects/persistent-cloud-browser/DECISIONS.md``) ruled that a
58
+ (``common-docs/systems/architecture/persistent-cloud-browser/VISION.md``) ruled that a
59
59
  seed does not travel with an account handover: the new owner enrols again.
60
60
 
61
61
  🚨 This is deliberately NOT "every ``sealed`` field". Sealed also covers OAuth
@@ -739,7 +739,7 @@ async def create_credential_bundle(
739
739
  field_key=spec.field_key,
740
740
  key=spec.env_key,
741
741
  value_encrypted=encrypt_value(spec.value),
742
- value_hint=mask_value(spec.value),
742
+ value_hint=hint_for(spec.handling, spec.value),
743
743
  handling=spec.handling,
744
744
  editable=spec.editable,
745
745
  inject_into_sandbox=spec.inject_into_sandbox,
@@ -1270,7 +1270,7 @@ async def add_credential_field(
1270
1270
  field_key=spec.field_key,
1271
1271
  key=spec.env_key,
1272
1272
  value_encrypted=encrypt_value(spec.value),
1273
- value_hint=mask_value(spec.value),
1273
+ value_hint=hint_for(spec.handling, spec.value),
1274
1274
  handling=spec.handling,
1275
1275
  editable=spec.editable,
1276
1276
  inject_into_sandbox=spec.inject_into_sandbox,
@@ -1435,7 +1435,7 @@ async def update_credential_field_value(
1435
1435
  await UserSecret.update_where(
1436
1436
  {"id": field_id, "deleted_at__isnull": True},
1437
1437
  value_encrypted=encrypted_value,
1438
- value_hint=mask_value(value),
1438
+ value_hint=hint_for(str(raw.get("handling") or ""), value),
1439
1439
  updated_by=actor_id,
1440
1440
  updated_at=datetime.now(UTC),
1441
1441
  )
@@ -1512,7 +1512,7 @@ async def rotate_credential_fields(
1512
1512
  await UserSecret.update_where(
1513
1513
  {"id": str(field_raw["id"])},
1514
1514
  value_encrypted=encrypted_value,
1515
- value_hint=mask_value(plaintext),
1515
+ value_hint=hint_for(str(field_raw.get("handling") or ""), plaintext),
1516
1516
  updated_by=actor_id,
1517
1517
  updated_at=now,
1518
1518
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "matrx-orm"
3
- version = "3.1.209"
3
+ version = "3.1.211"
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" }
@@ -0,0 +1,51 @@
1
+ """A SEALED FIELD'S value_hint IS EMPTY — no character of a secret reaches a client (lane VISION-REACH wave 3).
2
+
3
+ THE USE CASE: Cedar Ridge Physical Therapy connects its own Postgres to AI Matrx. The connection string
4
+ is a SEALED vault field (nobody can ever reveal it), yet every vault listing carried its ``value_hint`` —
5
+ ``postg…uire`` — eight characters of the secret, to every browser that opened the item (verifier,
6
+ 2026-10-03). The hint is the only value-derived data a field row may carry, so it is the one thing to
7
+ guard: sealed → nothing; anything a person may see again → the masked shape as before.
8
+
9
+ The census below reads the battery's own write paths: every ``value_hint=`` a UserSecret write sets
10
+ goes through ``hint_for``; a new write that reaches for ``mask_value`` directly is a new member of the
11
+ class and turns this red.
12
+ """
13
+
14
+ from __future__ import annotations
15
+
16
+ import re
17
+ from pathlib import Path
18
+
19
+ import pytest
20
+
21
+ from matrx_orm.secrets_battery import crypto
22
+
23
+ CONNECTION = "postgresql://clinic_reader:Sentinel-Pw-7f3a9c@aws-0-us-east-1.pooler.supabase.com:6543/postgres?sslmode=require"
24
+ TOKEN = "ghp_1234567890abcd"
25
+
26
+
27
+ @pytest.mark.parametrize(
28
+ ("handling", "value", "expected"),
29
+ [
30
+ ("sealed", CONNECTION, ""),
31
+ ("sealed", TOKEN, ""),
32
+ ("revealable", TOKEN, "ghp_…abcd"),
33
+ ("visible", "clinic_reader", "clin…ader"),
34
+ (None, TOKEN, "ghp_…abcd"),
35
+ ],
36
+ )
37
+ def test_the_hint_of_a_field_is_nothing_when_sealed_and_the_mask_otherwise(handling, value, expected) -> None:
38
+ hint = crypto.hint_for(handling, value)
39
+ assert hint == expected
40
+ if handling == "sealed":
41
+ assert not any(ch in hint for ch in value if ch not in "…")
42
+
43
+
44
+ def test_every_value_hint_the_battery_writes_goes_through_hint_for() -> None:
45
+ """CENSUS (not a change detector): the class is 'a UserSecret write that sets value_hint'."""
46
+ source = Path(crypto.__file__).with_name("items.py").read_text()
47
+ # a WRITE derives the hint from a plaintext; a projection copies the row's own column back out
48
+ writes = [w for w in re.findall(r"value_hint=([^,\n]+)", source) if '"value_hint"' not in w]
49
+ assert len(writes) >= 4, f"items.py writes value_hint in fewer places than the four it had: {writes}"
50
+ direct = [w for w in writes if not w.startswith("hint_for(")]
51
+ assert direct == [], f"a value_hint written without hint_for: {direct}"
@@ -1,6 +1,6 @@
1
1
  """Minting keys never change hands — D-15, enforced in the battery (no DB).
2
2
 
3
- ``common-docs/projects/persistent-cloud-browser/DECISIONS.md`` D-15: *"A seed
3
+ ``common-docs/systems/architecture/persistent-cloud-browser/VISION.md`` D-15: *"A seed
4
4
  does NOT transfer with an account handover — the new owner enrolls again.
5
5
  Otherwise two people generate valid codes forever with nothing recording it."*
6
6
 
File without changes
File without changes
File without changes
File without changes
File without changes