mainsequence-metatable 0.1.8.dev18__tar.gz → 0.1.9.dev19__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 (531) hide show
  1. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.agents/skills/client/metatables-local-development/SKILL.md +12 -4
  2. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.agents/skills/client/metatables-migrations/SKILL.md +37 -7
  3. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +3 -0
  4. {mainsequence_metatable-0.1.8.dev18/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.9.dev19}/PKG-INFO +1 -1
  5. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/define-and-migrate-tables.md +5 -0
  6. mainsequence_metatable-0.1.9.dev19/docs/client/deploy-application-migrations.md +103 -0
  7. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/mkdocs.yml +1 -0
  8. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/pyproject.toml +1 -1
  9. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
  10. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/mainsequence_metatable.egg-info/SOURCES.txt +1 -0
  11. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/uv.lock +1 -1
  12. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
  13. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
  14. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/.mainsequence/workflows/metatables-api.yaml +0 -0
  15. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/LICENSE +0 -0
  16. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/MANIFEST.in +0 -0
  17. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/README.md +0 -0
  18. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/alembic.ini +0 -0
  19. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/api/metatables/main.py +0 -0
  20. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/compose.database-tests.yml +0 -0
  21. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
  22. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
  23. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0004-approved-application-migrations.md +0 -0
  24. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
  25. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0006-historical-run-graphs.md +0 -0
  26. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
  27. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
  28. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
  29. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
  30. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0009-shared-credential-store.md +0 -0
  31. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
  32. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
  33. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0013-application-owned-migrations.md +0 -0
  34. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
  35. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
  36. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
  37. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
  38. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/adr/index.md +0 -0
  39. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/authentication-and-errors.md +0 -0
  40. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/data-sources.md +0 -0
  41. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/openapi.json +0 -0
  42. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/overview.md +0 -0
  43. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/reference.md +0 -0
  44. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/tables-and-migrations.md +0 -0
  45. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/api/time-index-and-updates.md +0 -0
  46. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/assets/branding/metatables.svg +0 -0
  47. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/assets/diagrams/local-client-experience.svg +0 -0
  48. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/bounded-transfers.md +0 -0
  49. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/build-an-updater.md +0 -0
  50. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/installation-and-connection.md +0 -0
  51. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/local-storage.md +0 -0
  52. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/query-and-mutate.md +0 -0
  53. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/quickstart.md +0 -0
  54. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/read-existing-time-index-tables.md +0 -0
  55. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/register-existing-tables.md +0 -0
  56. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/tutorial.md +0 -0
  57. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/client/upgrade-legacy-app.md +0 -0
  58. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/architecture.md +0 -0
  59. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/data-sources.md +0 -0
  60. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/identity-and-scope.md +0 -0
  61. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/permissions-namespaces-labels.md +0 -0
  62. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/runs-and-execution-graphs.md +0 -0
  63. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
  64. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/concepts/time-index-tables-and-updates.md +0 -0
  65. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/contributing/architecture-and-boundaries.md +0 -0
  66. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/contributing/database-backends.md +0 -0
  67. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/contributing/documentation.md +0 -0
  68. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/contributing/releasing.md +0 -0
  69. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/contributing/testing.md +0 -0
  70. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/README.md +0 -0
  71. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/__init__.py +0 -0
  72. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/bounded_reader.py +0 -0
  73. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/data_sources/README.md +0 -0
  74. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/data_sources/mssql.json +0 -0
  75. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/data_sources/mysql.json +0 -0
  76. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/data_sources/postgresql.json +0 -0
  77. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/data_sources/register.py +0 -0
  78. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/external_table.py +0 -0
  79. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/README.md +0 -0
  80. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/__init__.py +0 -0
  81. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/__main__.py +0 -0
  82. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/migrations/__init__.py +0 -0
  83. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/migrations/env.py +0 -0
  84. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/migrations/script.py.mako +0 -0
  85. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
  86. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/local_app/tables.py +0 -0
  87. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/query.py +0 -0
  88. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/quickstart.py +0 -0
  89. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/reader.py +0 -0
  90. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/scripts/__init__.py +0 -0
  91. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/scripts/setup_metatables.py +0 -0
  92. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tables.py +0 -0
  93. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/README.md +0 -0
  94. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/__init__.py +0 -0
  95. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/__main__.py +0 -0
  96. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/data/README.md +0 -0
  97. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
  98. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/frames.py +0 -0
  99. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/__init__.py +0 -0
  100. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/env.py +0 -0
  101. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/registry.py +0 -0
  102. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/script.py.mako +0 -0
  103. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
  104. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
  105. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
  106. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
  107. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/operations.py +0 -0
  108. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/tables.py +0 -0
  109. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/tutorial/updaters.py +0 -0
  110. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/examples/updater.py +0 -0
  111. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/index.md +0 -0
  112. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/catalog-migrations.md +0 -0
  113. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/configuration.md +0 -0
  114. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/hosted-runtime.md +0 -0
  115. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/local-runtime.md +0 -0
  116. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/recovery-and-observability.md +0 -0
  117. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/run-history.md +0 -0
  118. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/operations/run-logs.md +0 -0
  119. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/reference/capabilities.md +0 -0
  120. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/reference/cli.md +0 -0
  121. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/reference/python.md +0 -0
  122. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/security/index.md +0 -0
  123. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/security/ownership-and-sharing.md +0 -0
  124. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/docs/security/permissions.md +0 -0
  125. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/__init__.py +0 -0
  126. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/build_reference.py +0 -0
  127. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_boundaries.py +0 -0
  128. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_client_api_coverage.py +0 -0
  129. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_distribution_sources.py +0 -0
  130. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_docs.py +0 -0
  131. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_examples_debug.py +0 -0
  132. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/check_project.py +0 -0
  133. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/dev_release_version.py +0 -0
  134. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/test_databases.py +0 -0
  135. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/scripts/test_postgresql.py +0 -0
  136. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/setup.cfg +0 -0
  137. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
  138. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
  139. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
  140. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
  141. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/__init__.py +0 -0
  142. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/_admin_source.json +0 -0
  143. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/_build.py +0 -0
  144. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/_skill_bundle.py +0 -0
  145. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/__init__.py +0 -0
  146. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/__init__.py +0 -0
  147. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/auth/__init__.py +0 -0
  148. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/auth/boundary.py +0 -0
  149. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/auth/caller_assertions.py +0 -0
  150. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/auth/local_actor.py +0 -0
  151. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/bootstrap.py +0 -0
  152. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/configuration.py +0 -0
  153. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/credential_admin.py +0 -0
  154. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/development.py +0 -0
  155. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/development_client.py +0 -0
  156. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/main.py +0 -0
  157. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/platform_cache.py +0 -0
  158. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/__init__.py +0 -0
  159. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/column_search.py +0 -0
  160. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/contract_validation.py +0 -0
  161. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/data_sources.py +0 -0
  162. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/managed_finalize.py +0 -0
  163. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/migration_connection.py +0 -0
  164. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/namespaces.py +0 -0
  165. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/run_logs.py +0 -0
  166. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/runtime_context.py +0 -0
  167. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/schema_graph.py +0 -0
  168. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/security.py +0 -0
  169. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_cascade.py +0 -0
  170. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_crud.py +0 -0
  171. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_delete.py +0 -0
  172. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_filter.py +0 -0
  173. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_import.py +0 -0
  174. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_introspection.py +0 -0
  175. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_patch.py +0 -0
  176. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_registration.py +0 -0
  177. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_response.py +0 -0
  178. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_search_document.py +0 -0
  179. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_sql.py +0 -0
  180. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
  181. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/time_index_delete.py +0 -0
  182. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/time_index_reads.py +0 -0
  183. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/time_index_stats.py +0 -0
  184. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/timescale_policies.py +0 -0
  185. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_batch.py +0 -0
  186. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
  187. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_constants.py +0 -0
  188. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_crud.py +0 -0
  189. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_details.py +0 -0
  190. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_graph.py +0 -0
  191. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
  192. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_registration.py +0 -0
  193. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_runs.py +0 -0
  194. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/routes/update_statistics.py +0 -0
  195. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/runtime.py +0 -0
  196. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/runtime_control.py +0 -0
  197. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/runtime_database.py +0 -0
  198. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/source_passwords.py +0 -0
  199. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/app/transfer.py +0 -0
  200. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/__init__.py +0 -0
  201. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/__init__.py +0 -0
  202. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/access.py +0 -0
  203. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
  204. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
  205. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
  206. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
  207. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
  208. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
  209. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
  210. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
  211. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
  212. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
  213. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
  214. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
  215. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
  216. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
  217. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
  218. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
  219. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
  220. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
  221. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
  222. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
  223. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
  224. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/catalog.py +0 -0
  225. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
  226. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/catalog_types.py +0 -0
  227. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/contracts.py +0 -0
  228. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/hosted.py +0 -0
  229. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/hosted_access.py +0 -0
  230. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/migration_connection.py +0 -0
  231. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/native.py +0 -0
  232. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/operations.py +0 -0
  233. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/pages.py +0 -0
  234. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
  235. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/registry.py +0 -0
  236. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/relation_tables.py +0 -0
  237. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/relational.py +0 -0
  238. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
  239. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
  240. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/streaming.py +0 -0
  241. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/backends/timescale.py +0 -0
  242. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/contracts/__init__.py +0 -0
  243. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/contracts/relation_import.py +0 -0
  244. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
  245. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
  246. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/contracts/values.py +0 -0
  247. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/__init__.py +0 -0
  248. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
  249. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
  250. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/index_statistics.py +0 -0
  251. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/label_rules.py +0 -0
  252. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/permission_rules.py +0 -0
  253. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/domain/update_constants.py +0 -0
  254. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/__init__.py +0 -0
  255. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
  256. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
  257. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/credential_store.py +0 -0
  258. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
  259. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
  260. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
  261. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
  262. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/run_logs.py +0 -0
  263. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
  264. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
  265. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/integrations/source_validation.py +0 -0
  266. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/__init__.py +0 -0
  267. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/env.py +0 -0
  268. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/script.py.mako +0 -0
  269. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
  270. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
  271. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
  272. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
  273. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
  274. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
  275. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
  276. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
  277. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
  278. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
  279. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/__init__.py +0 -0
  280. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
  281. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
  282. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/create_table.py +0 -0
  283. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
  284. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/import_relations.py +0 -0
  285. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/introspect_table.py +0 -0
  286. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/read_time_index.py +0 -0
  287. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/register_catalog.py +0 -0
  288. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/operations/search_documents.py +0 -0
  289. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/__init__.py +0 -0
  290. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/cascade.py +0 -0
  291. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/catalog.py +0 -0
  292. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/database.py +0 -0
  293. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/grants.py +0 -0
  294. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/labels.py +0 -0
  295. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/locking.py +0 -0
  296. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/models.py +0 -0
  297. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
  298. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/projections.py +0 -0
  299. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
  300. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
  301. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
  302. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
  303. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/table_queries.py +0 -0
  304. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/table_response.py +0 -0
  305. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/update_graph.py +0 -0
  306. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
  307. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/updates.py +0 -0
  308. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
  309. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
  310. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/metatables/__init__.py +0 -0
  311. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/metatables/configuration.yaml +0 -0
  312. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/api/metatables/main.py +0 -0
  313. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/__init__.py +0 -0
  314. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/admin_install.py +0 -0
  315. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/app.py +0 -0
  316. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/filters.py +0 -0
  317. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/local.py +0 -0
  318. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/migrations.py +0 -0
  319. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/project.py +0 -0
  320. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/cli/skills.py +0 -0
  321. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/compiled_sql/__init__.py +0 -0
  322. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/compiled_sql/mssql.py +0 -0
  323. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/compiled_sql/v1.py +0 -0
  324. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/dtype_codec.py +0 -0
  325. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/endpoint.py +0 -0
  326. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/README.md +0 -0
  327. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/__init__.py +0 -0
  328. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/bounded_reader.py +0 -0
  329. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/data_sources/README.md +0 -0
  330. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/data_sources/mssql.json +0 -0
  331. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/data_sources/mysql.json +0 -0
  332. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/data_sources/postgresql.json +0 -0
  333. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/data_sources/register.py +0 -0
  334. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/external_table.py +0 -0
  335. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/README.md +0 -0
  336. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/__init__.py +0 -0
  337. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/__main__.py +0 -0
  338. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
  339. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/migrations/env.py +0 -0
  340. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
  341. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
  342. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/local_app/tables.py +0 -0
  343. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/query.py +0 -0
  344. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/quickstart.py +0 -0
  345. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/reader.py +0 -0
  346. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/scripts/__init__.py +0 -0
  347. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/scripts/setup_metatables.py +0 -0
  348. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tables.py +0 -0
  349. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/README.md +0 -0
  350. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/__init__.py +0 -0
  351. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/__main__.py +0 -0
  352. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/data/README.md +0 -0
  353. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
  354. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/frames.py +0 -0
  355. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
  356. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/env.py +0 -0
  357. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
  358. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
  359. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
  360. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
  361. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
  362. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
  363. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/operations.py +0 -0
  364. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/tables.py +0 -0
  365. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/tutorial/updaters.py +0 -0
  366. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/examples/updater.py +0 -0
  367. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/future_registry.py +0 -0
  368. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/hashing.py +0 -0
  369. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/instrumentation.py +0 -0
  370. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/local_connection.py +0 -0
  371. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/local_files.py +0 -0
  372. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/local_run_logs.py +0 -0
  373. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/log_contract.py +0 -0
  374. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/__init__.py +0 -0
  375. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/alembic.py +0 -0
  376. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/connection.py +0 -0
  377. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/env.py +0 -0
  378. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/provider.py +0 -0
  379. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/registry.py +0 -0
  380. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/runner.py +0 -0
  381. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/scaffold.py +0 -0
  382. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/templates/__init__.py +0 -0
  383. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/templates/env.py.mako +0 -0
  384. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/templates/script.py.mako +0 -0
  385. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/migrations/tls.py +0 -0
  386. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/models.py +0 -0
  387. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/pydantic_metadata.py +0 -0
  388. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/run_logging.py +0 -0
  389. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/runtime.py +0 -0
  390. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/runtime_context.py +0 -0
  391. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/runtime_contract.py +0 -0
  392. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/schema_names.py +0 -0
  393. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/sdk_compat.py +0 -0
  394. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/sqlalchemy_contracts.py +0 -0
  395. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/time_index_table_refs.py +0 -0
  396. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/transfer.py +0 -0
  397. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/transfer_contract.py +0 -0
  398. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/transport.py +0 -0
  399. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/update_configuration_contract.py +0 -0
  400. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/__init__.py +0 -0
  401. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/configuration.py +0 -0
  402. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/dependencies.py +0 -0
  403. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/managers.py +0 -0
  404. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/namespacing.py +0 -0
  405. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/runner.py +0 -0
  406. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/updaters.py +0 -0
  407. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/updaters/utils.py +0 -0
  408. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/src/metatables/upload.py +0 -0
  409. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_caller_assertions.py +0 -0
  410. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_data_source_identity.py +0 -0
  411. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_development_client.py +0 -0
  412. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_hosted_environment_target.py +0 -0
  413. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_local_mode.py +0 -0
  414. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_platform_fact_cache.py +0 -0
  415. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_runtime_bootstrap.py +0 -0
  416. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_runtime_database.py +0 -0
  417. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_runtime_scaffold.py +0 -0
  418. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_runtime_selection.py +0 -0
  419. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_runtime_storage_binding.py +0 -0
  420. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/auth/test_source_passwords.py +0 -0
  421. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/catalog/test_catalog_foundation.py +0 -0
  422. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/catalog/test_contract_projection.py +0 -0
  423. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/catalog/test_database_config.py +0 -0
  424. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/catalog/test_index_statistics.py +0 -0
  425. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/catalog/test_migration.py +0 -0
  426. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/conftest.py +0 -0
  427. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/capabilities.json +0 -0
  428. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/client_signatures.json +0 -0
  429. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/database_operations.json +0 -0
  430. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_bounded_transfer.py +0 -0
  431. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_compiler_runtime_source.py +0 -0
  432. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_relation_batching.py +0 -0
  433. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_relation_import.py +0 -0
  434. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_storage_layouts.py +0 -0
  435. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/contracts/test_table_contracts.py +0 -0
  436. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/Dockerfile +0 -0
  437. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/Dockerfile.dockerignore +0 -0
  438. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/__init__.py +0 -0
  439. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/conftest.py +0 -0
  440. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/provider/__init__.py +0 -0
  441. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/provider/env.py +0 -0
  442. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
  443. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_api_contract.py +0 -0
  444. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_application_migration.py +0 -0
  445. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_bootstrap_recovery.py +0 -0
  446. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_catalog_contract.py +0 -0
  447. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_credential_catalog.py +0 -0
  448. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_physical_contract.py +0 -0
  449. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_relation_import.py +0 -0
  450. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_runtime_bootstrap.py +0 -0
  451. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_sql_security.py +0 -0
  452. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_backend/test_update_client.py +0 -0
  453. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_operations/test_physical_operations.py +0 -0
  454. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_operations/test_postgresql_operations.py +0 -0
  455. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/database_operations/test_runtime_and_temporal.py +0 -0
  456. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/documentation/test_project_checks.py +0 -0
  457. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_admin_installation.py +0 -0
  458. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_api_endpoint.py +0 -0
  459. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_application_owned_migrations.py +0 -0
  460. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_catalog_outage.py +0 -0
  461. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_api_contract.py +0 -0
  462. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_api_coverage.py +0 -0
  463. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_migration_scaffold.py +0 -0
  464. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_migration_tls.py +0 -0
  465. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_package.py +0 -0
  466. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_signatures.py +0 -0
  467. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_client_value_behaviors.py +0 -0
  468. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_data_source_registry.py +0 -0
  469. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_local_actor_client_api.py +0 -0
  470. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_local_cli_workflow.py +0 -0
  471. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_local_client_selection.py +0 -0
  472. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_managed_finalize_client_api.py +0 -0
  473. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_namespaces_admin_http.py +0 -0
  474. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_public_imports.py +0 -0
  475. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_remaining_client_routes.py +0 -0
  476. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_run_graphs.py +0 -0
  477. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_run_logs.py +0 -0
  478. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_runtime_transition.py +0 -0
  479. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_runtime_upgrade.py +0 -0
  480. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_sdk_local_startup.py +0 -0
  481. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_sqlite_runtime.py +0 -0
  482. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_delete_client_api.py +0 -0
  483. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_filter_client_api.py +0 -0
  484. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_introspection_client_api.py +0 -0
  485. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_patch_client_api.py +0 -0
  486. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_search_document_api.py +0 -0
  487. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_stats_api.py +0 -0
  488. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_update_pipeline.py +0 -0
  489. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_table_updates_http.py +0 -0
  490. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_time_index_delete_client_api.py +0 -0
  491. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_time_index_reads_client_api.py +0 -0
  492. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_timescale_policies_client_api.py +0 -0
  493. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_update_batch_client_api.py +0 -0
  494. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
  495. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
  496. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
  497. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/e2e/test_update_registration_client_api.py +0 -0
  498. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/examples/test_documented_examples.py +0 -0
  499. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/examples/test_postgresql_examples.py +0 -0
  500. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/examples/test_setup_launch.py +0 -0
  501. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/examples/test_tutorial.py +0 -0
  502. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_credential_store.py +0 -0
  503. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_data_source_rules.py +0 -0
  504. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_local_data_sources.py +0 -0
  505. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_local_run_logs.py +0 -0
  506. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_postgresql_connection.py +0 -0
  507. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_postgresql_sql.py +0 -0
  508. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_postgresql_tables.py +0 -0
  509. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
  510. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_source_validation.py +0 -0
  511. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/integrations/test_sqlite_operations.py +0 -0
  512. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/labels/test_labels.py +0 -0
  513. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_create_table_operation.py +0 -0
  514. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_create_table_postgres.py +0 -0
  515. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_physical_operation_journal.py +0 -0
  516. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_register_catalog.py +0 -0
  517. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_search_documents.py +0 -0
  518. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/operations/test_timescale_policies.py +0 -0
  519. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/packaging/test_client_skills.py +0 -0
  520. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/packaging/test_dev_release_version.py +0 -0
  521. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/packaging/test_distribution_sources.py +0 -0
  522. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/packaging/test_editable_build.py +0 -0
  523. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/packaging/test_installed_distribution.py +0 -0
  524. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_governed_sql_scope.py +0 -0
  525. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_local_actor_membership.py +0 -0
  526. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_migration_boundary.py +0 -0
  527. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_namespace_grants.py +0 -0
  528. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_security_api.py +0 -0
  529. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_table_body_filter.py +0 -0
  530. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_table_grants.py +0 -0
  531. {mainsequence_metatable-0.1.8.dev18 → mainsequence_metatable-0.1.9.dev19}/tests/permissions/test_table_queries.py +0 -0
@@ -72,6 +72,8 @@ Do not retry against automatic hosted discovery when a local connection fails.
72
72
  Substitute the application's own module. Provider code and revisions are
73
73
  installed in the application process; the API requires no provider approval
74
74
  or installation. System initialization and application histories remain separate.
75
+ Running the provider yourself is for the local runtime only; hosted runtimes
76
+ receive the same revisions from the deployment workflow's migration Job.
75
77
  5. Build application contracts/queries with the
76
78
  [table skill](../metatables-meta-tables/SKILL.md), or producers/readers with the
77
79
  [updater skill](../metatables-time-index-table-updates/SKILL.md). Use small,
@@ -134,8 +136,12 @@ integration-test fixture.
134
136
  ## Finish verification and switch back
135
137
 
136
138
  Record what passed, the runtime/DataSource used, and any engine-specific work still
137
- unverified. Carry forward the reviewed application code and migration revisions;
139
+ unverified. Commit the reviewed application code and its migration revisions together;
138
140
  local rows, catalog UIDs, credentials and fixture data are not promoted by a switch.
141
+ The application's deployment workflow applies those revisions to the hosted runtime
142
+ before the code rolls out; see the [migrations skill](../metatables-migrations/SKILL.md)
143
+ and `docs/client/deploy-application-migrations.md`. Add the migration Job if the
144
+ workflow lacks one.
139
145
 
140
146
  When returning to the environment is part of the requested workflow:
141
147
 
@@ -155,9 +161,11 @@ When returning to the environment is part of the requested workflow:
155
161
  report the actual mode instead of claiming the switch succeeded.
156
162
  3. Restart application/test client processes and resolve catalog bindings again.
157
163
  Do not reuse local table UIDs or already-bound updater instances against the
158
- environment database. Apply reviewed revisions or perform environment writes
159
- only within the user's requested scope; passing local tests is not itself a
160
- request to seed fixtures, run backfills or migrate that database.
164
+ environment database. Do not apply application revisions from this session;
165
+ the deployment's migration Job does. `migrations current` can confirm the
166
+ deployed revision. Perform other environment writes only within the user's
167
+ requested scope; passing local tests is not itself a request to seed fixtures
168
+ or run backfills.
161
169
 
162
170
  If the user instead wants to connect to a separately deployed API, follow the
163
171
  installation guide's hosted endpoint selection. Restore prior connection settings
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: metatables-migrations
3
- description: "Create and evolve managed application tables through Alembic migration providers with the installed MetaTables Python client. Covers provider scope and placement, scaffolding, revision authoring, client-side execution, and reservation or finalization failures. Excludes API catalog migrations, client-library implementation, API/server changes and repository tooling."
3
+ description: "Create and evolve managed application tables through Alembic migration providers with the installed MetaTables Python client. Covers provider scope and placement, scaffolding, revision authoring, local execution, the deployment-workflow migration Job for hosted runtimes, and reservation or finalization failures. Excludes API catalog migrations, client-library implementation, API/server changes and repository tooling."
4
4
  ---
5
5
 
6
6
  # MetaTables client application migrations
@@ -39,6 +39,34 @@ hosted API's deployment applies them before it rolls out, and Local mode runs th
39
39
  from Settings; see `docs/operations/catalog-migrations.md`. They are not
40
40
  application-provider revisions.
41
41
 
42
+ ## Recommended workflow
43
+
44
+ Follow this sequence, which mirrors how the MetaTables API deploys its own system
45
+ migrations. Read `docs/client/deploy-application-migrations.md`.
46
+
47
+ 1. **Develop locally.** Author the revision and apply it to verified local SQLite
48
+ with the [local development skill](../metatables-local-development/SKILL.md).
49
+ 2. **Commit the revision with the code that needs it.**
50
+ 3. **Deploy.** The application's `.mainsequence/workflows/` file declares a
51
+ migration Job that calls `upgrade_application` for each provider, in
52
+ dependency order, from the candidate image. Every deployed resource that reads
53
+ or writes the tables (FastAPI, `harness_agent` and others) has a deploy step
54
+ with `needs: [migrate]`. A failed migration blocks the rollout.
55
+
56
+ Rules:
57
+
58
+ - Hosted runtimes are migrated only by that Job. Do not run `migrations upgrade`
59
+ or `downgrade` against a hosted API from a developer or agent session. If the
60
+ user explicitly requests it, do it once and recommend adding the Job.
61
+ - When the application has no migration Job yet, add one alongside its first
62
+ managed table or its MetaTables upgrade.
63
+ - Do not migrate at application startup: several pods would race, and a failure
64
+ would not stop the rollout.
65
+ - Keep each revision usable by the release currently deployed, which keeps serving
66
+ during and after a failed rollout. Add first; drop or rename in a later release.
67
+ - Redeploying an older image does not roll back the schema. Downgrade is never a
68
+ deployment step.
69
+
42
70
  ## Source and runtime context
43
71
 
44
72
  - The API selects its active runtime DataSource. Upgrade and downgrade use that
@@ -113,7 +141,8 @@ the wrong revisions.
113
141
 
114
142
  ## Execute with the environment connection
115
143
 
116
- After verifying the intended runtime, use the application's provider reference:
144
+ During development, after verifying the local runtime, use the application's
145
+ provider reference:
117
146
 
118
147
  ```bash
119
148
  metatables --local migrations upgrade --provider ledger.migrations:migration
@@ -132,9 +161,9 @@ API Writer checks govern connection admission and provider catalog operations.
132
161
  The client reserves catalog entries, runs Alembic, closes its physical connection,
133
162
  and finalizes contracts through the API. Treat connection material as private.
134
163
 
135
- Use the application's setup entry point when available. Python code can call
136
- `metatables.upgrade_application("ledger.migrations:migration")`;
137
- `src/metatables/examples/scripts/setup_metatables.py` shows the pattern. Remove the retired
164
+ Python code can call `metatables.upgrade_application("ledger.migrations:migration")`;
165
+ `src/metatables/examples/scripts/setup_metatables.py` shows the pattern, and the
166
+ deployment migration Job uses the same call. Remove the retired
138
167
  `application_migration_providers` setting and use Python references instead of aliases.
139
168
  Application migration histories remain separate from API system migrations.
140
169
 
@@ -181,5 +210,6 @@ Read `docs/operations/recovery-and-observability.md`.
181
210
  ## Validation
182
211
 
183
212
  Verify provider scope and placement, revision content, the selected environment
184
- connection, repeat execution, and final active bindings. Report separately what was checked
185
- offline and what was exercised against a configured API.
213
+ connection, repeat execution, and final active bindings. Check that the deployment
214
+ workflow runs the migration Job before every resource that uses the tables. Report
215
+ separately what was checked offline and what was exercised against a configured API.
@@ -96,6 +96,9 @@ Use the [application migrations skill](../metatables-migrations/SKILL.md),
96
96
  `docs/client/define-and-migrate-tables.md`, and
97
97
  `docs/adr/api/0013-application-owned-migrations.md` for that workflow. Ordinary
98
98
  SQL continues through the governed API, independently of the migration connection.
99
+ If the application's deployment workflow does not yet run its providers in a
100
+ migration Job before its API and agents roll out, add one as
101
+ `docs/client/deploy-application-migrations.md` describes.
99
102
 
100
103
  ## Verify the upgrade
101
104
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence-metatable
3
- Version: 0.1.8.dev18
3
+ Version: 0.1.9.dev19
4
4
  Summary: Main Sequence MetaTables Python client and standalone API
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -93,6 +93,11 @@ Python setup code can call `metatables.upgrade_application("ledger.migrations:mi
93
93
  For current and downgrade, use `metatables.migrations.runner.run_migration` with
94
94
  `operation="current"` or `operation="downgrade", revision="0001"`.
95
95
 
96
+ Hosted runtimes are migrated by the application's deployment workflow, not from a
97
+ developer machine: a Job applies the providers from the candidate image before
98
+ the application rolls out. See
99
+ [Migrate in the deployment workflow](deploy-application-migrations.md).
100
+
96
101
  The provider is installed only in the application process. Remove the retired
97
102
  `application_migration_providers` setting from existing deployment configuration;
98
103
  replace old aliases with application Python references. No API provider registration,
@@ -0,0 +1,103 @@
1
+ # Migrate in the deployment workflow
2
+
3
+ An application's tables must match the code that serves them. Apply application
4
+ migrations to a hosted runtime the same way MetaTables applies its own system
5
+ migrations: a Job in the deployment workflow runs them from the candidate image
6
+ before anything that uses the tables rolls out. See
7
+ [catalog migrations](../operations/catalog-migrations.md) for the API's own
8
+ `migrate-system` Job.
9
+
10
+ ## Recommended workflow
11
+
12
+ 1. **Develop locally.** Author the revision and apply it to verified local SQLite
13
+ with `metatables --local migrations upgrade`. See
14
+ [Managed tables and migrations](define-and-migrate-tables.md) and
15
+ [Local storage](local-storage.md).
16
+ 2. **Commit the revision with the code that needs it.** Applied revisions are
17
+ immutable; every later schema change is a new revision.
18
+ 3. **Deploy.** The application's workflow runs its migration Job from the
19
+ candidate image, then deploys the resources that read or write the tables.
20
+
21
+ Hosted runtimes are migrated only by step 3. Do not run `metatables migrations
22
+ upgrade` or `downgrade` against a hosted API from a developer machine or agent
23
+ session. Do not migrate at application startup either: several pods would race,
24
+ and a failure would not stop the rollout.
25
+
26
+ ## Declare the migration Job
27
+
28
+ Add one Job script that applies every provider the application owns, in
29
+ dependency order:
30
+
31
+ ```python
32
+ """Main Sequence Job: apply the ledger migrations before the application rolls out."""
33
+
34
+ from metatables import upgrade_application
35
+
36
+ for provider in ("ledger.migrations:migration",):
37
+ result = upgrade_application(provider)
38
+ state = "migrated" if result["migrated"] else "already current"
39
+ print(f"{provider}: {result['revision']} ({state}) on {result['data_source_uid']}", flush=True)
40
+ ```
41
+
42
+ Gate the deployments on it in `.mainsequence/workflows/<application>.yaml`:
43
+
44
+ ```yaml
45
+ api_version: "2.3.0"
46
+ name: ledger
47
+ resources:
48
+ - key: ledger-api
49
+ kind: fastapi
50
+ spec:
51
+ source_path: api/main.py
52
+ automatic_deployment: true
53
+ automatic_redeployment:
54
+ enabled: true
55
+ - key: migrate-ledger
56
+ kind: job
57
+ spec:
58
+ name: Ledger migrations
59
+ execution_path: jobs/migrate_ledger.py
60
+ automatic_redeployment:
61
+ enabled: true
62
+
63
+ execution:
64
+ steps:
65
+ image:
66
+ prepare_image: ledger-api
67
+ migrate:
68
+ run_job: migrate-ledger
69
+ image_from: image
70
+ needs: [image]
71
+ deploy_api:
72
+ deploy: ledger-api
73
+ image_from: image
74
+ needs: [migrate]
75
+ ```
76
+
77
+ Give every other deployed resource that reads or writes the tables, such as a
78
+ `harness_agent`, its own deploy step with `needs: [migrate]`. Validate the file
79
+ against the branch's workflow template before committing it.
80
+
81
+ ## What the Job guarantees
82
+
83
+ - It runs on every deployment. A database already at head is left unchanged and
84
+ reports `already current`.
85
+ - An exception fails the Job and blocks the rollout; the previous release keeps
86
+ serving. Fix the revision and deploy again. If DDL committed but finalization
87
+ failed, follow [Evolve and recover](define-and-migrate-tables.md#evolve-and-recover)
88
+ before retrying.
89
+ - The Job finds the Environment's MetaTables API the same way any client does
90
+ ([installation and connection](installation-and-connection.md)). That API must
91
+ be deployed with its system migrations applied; otherwise the Job fails. Its
92
+ SDK user needs the same API access a developer needs to run the provider.
93
+
94
+ ## Keep each release compatible with the previous one
95
+
96
+ The Job runs before the rollout, so the previous release serves against the new
97
+ schema while the rollout proceeds, and keeps doing so if it fails. Write
98
+ revisions that the deployed release can still use: add tables, and nullable or
99
+ defaulted columns, first; drop or rename in a later release, once no deployed
100
+ code uses the old shape.
101
+
102
+ Redeploying an older image does not roll back the schema. A hosted `downgrade` is
103
+ a separate, explicitly requested operation, never a deployment step.
@@ -26,6 +26,7 @@ nav:
26
26
  - First API request: client/quickstart.md
27
27
  - Market-data tutorial: client/tutorial.md
28
28
  - Managed tables and migrations: client/define-and-migrate-tables.md
29
+ - Migrate in the deployment workflow: client/deploy-application-migrations.md
29
30
  - External tables: client/register-existing-tables.md
30
31
  - Queries and mutations: client/query-and-mutate.md
31
32
  - Updaters: client/build-an-updater.md
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence-metatable"
7
- version = "0.1.8.dev18"
7
+ version = "0.1.9.dev19"
8
8
  description = "Main Sequence MetaTables Python client and standalone API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence-metatable
3
- Version: 0.1.8.dev18
3
+ Version: 0.1.9.dev19
4
4
  Summary: Main Sequence MetaTables Python client and standalone API
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -44,6 +44,7 @@ docs/assets/diagrams/local-client-experience.svg
44
44
  docs/client/bounded-transfers.md
45
45
  docs/client/build-an-updater.md
46
46
  docs/client/define-and-migrate-tables.md
47
+ docs/client/deploy-application-migrations.md
47
48
  docs/client/installation-and-connection.md
48
49
  docs/client/local-storage.md
49
50
  docs/client/query-and-mutate.md
@@ -632,7 +632,7 @@ server = [
632
632
 
633
633
  [[package]]
634
634
  name = "mainsequence-metatable"
635
- version = "0.1.8"
635
+ version = "0.1.9"
636
636
  source = { editable = "." }
637
637
  dependencies = [
638
638
  { name = "alembic" },