mainsequence-metatable 0.1.35.dev65__tar.gz → 0.1.36.dev66__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.
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0007-database-enforced-table-access.md +14 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +19 -22
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/access.py +12 -4
- mainsequence_metatable-0.1.36.dev66/src/metatables/api/backend/backends/postgresql_access.py +618 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_deployment_security.py +92 -85
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_incremental_security.py +117 -12
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/uv.lock +1 -1
- mainsequence_metatable-0.1.35.dev65/src/metatables/api/backend/backends/postgresql_access.py +0 -564
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/analyze-with-sql/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/client/metatables-migrations/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/client/metatables-table-discovery/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/discover-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/PINNED_FROM.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/tau_a2a_runtime_adapter/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/tau_local_development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/tau_project_customization/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/tau_repository_integration/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.agents/skills/ms_tau_sdk/tau_security_and_access/SKILL.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/LICENSE +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/agent/0019-metatables-analyst-agent.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/agent/0020-analyst-reads-as-its-requester.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/agent/0021-api-serves-the-analyst-tools-over-mcp.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0016-impact-preflight.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0017-hosted-request-identity.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0018-search-document-pipeline.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0018-table-search.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/api/0022-concurrent-requests-and-connection-reuse.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/adr/index.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/assets/diagrams/namespace-access.svg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/deploy-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/local-runtime.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/SOURCES.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/analysis.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/analyst/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/connection_count.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/error_logging.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/mcp.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/access_map.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/caller.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_search.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/batch_inspection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/connection_pool.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0010_cascade_targets.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0011_table_search.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/0012_table_creator.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/bootstrap_timing.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/impact.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/documents.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/embeddings.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/index.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/ranking.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/text.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/backend/search/worker.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/api/request_timing.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/compiled_sql/v1.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/sqlite.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/storage_layout_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/analyst/test_agent_surface.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/analyst/test_api_search.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/analyst/test_mcp.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/analyst/test_tools.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_bootstrap_failure_cause.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_caller_endpoint.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_hosted_agent.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_request_identity.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/catalog/test_schema_validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/capabilities.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_runtime_contract_compat.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_managed_finalize_unchanged.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_migration_metadata_and_downgrade.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_search_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_search_scale.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_batch_introspection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_connection_reuse.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_request_timing.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_serving_policy.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/integrations/test_sqlite_operations.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_access_map.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_table_queries.py +0 -0
- {mainsequence_metatable-0.1.35.dev65 → mainsequence_metatable-0.1.36.dev66}/tests/permissions/test_workload_principals.py +0 -0
|
@@ -60,6 +60,20 @@
|
|
|
60
60
|
> full repair. An explicit admin repair remains a full sweep. A routine catalog
|
|
61
61
|
> update must not establish a new native baseline for unverified outside drift.
|
|
62
62
|
|
|
63
|
+
> Amendment (2026-10-15, [MetaTables #66](https://github.com/mainsequence-projects/MetaTables/issues/66)):
|
|
64
|
+
> On PostgreSQL/TimescaleDB, deployment and the admin repair compare what
|
|
65
|
+
> MetaTables' roles actually hold with the plan and change only what differs. One
|
|
66
|
+
> query reads those roles' attributes, memberships and grants on the database,
|
|
67
|
+
> on schemas and on relations the login owns or the plan names; table policies
|
|
68
|
+
> are read in one query as well. Statements go out in batches, one round trip
|
|
69
|
+
> each. This replaces the native-security fingerprint, which hashed every object
|
|
70
|
+
> the shared login owns and so changed with any application table, column, index
|
|
71
|
+
> or new data, and the full repair that revoked every grant and granted it back.
|
|
72
|
+
> TimescaleDB's internal schemas are never read or changed: chunks inherit their
|
|
73
|
+
> hypertable's grants. Schema `USAGE` and `CONNECT` are granted only where the
|
|
74
|
+
> login may grant them. Login passwords are set again only on credential
|
|
75
|
+
> rotation, failed login validation, pending or uninitialized state.
|
|
76
|
+
|
|
63
77
|
> Amendment (2026-10-09): [ADR 0022](0022-concurrent-requests-and-connection-reuse.md)
|
|
64
78
|
> reuses login-role connections within a pod, only by the login role that opened them
|
|
65
79
|
> and never through `SET ROLE`; no session state carries over from one use to the next.
|
|
@@ -62,9 +62,9 @@ resolve declaration and Secret
|
|
|
62
62
|
yes: fresh physical system-schema validation; preserve journal
|
|
63
63
|
no: existing Alembic execution and durable recovery; validate schema
|
|
64
64
|
-> reconcile runtime registration if changed
|
|
65
|
-
-> security-state lock; fresh
|
|
66
|
-
->
|
|
67
|
-
|
|
65
|
+
-> security-state lock; fresh login validation
|
|
66
|
+
-> fresh table-policy checks; compare the managed roles' actual grants with
|
|
67
|
+
the plan and apply only the differences; set passwords only when needed
|
|
68
68
|
-> commit; fresh registration/reference verification; release bootstrap lock
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -83,40 +83,37 @@ of unknown outcomes. A completed journal records its original execution; a
|
|
|
83
83
|
source-code change without new revisions does not reset that history. Schema
|
|
84
84
|
drift still blocks deployment and is not silently repaired by replaying Alembic.
|
|
85
85
|
|
|
86
|
-
On PostgreSQL/TimescaleDB
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
that could conceal a password change.
|
|
86
|
+
On PostgreSQL/TimescaleDB (amended 2026-10-15, [MetaTables #66](https://github.com/mainsequence-projects/MetaTables/issues/66)),
|
|
87
|
+
initialization reads what MetaTables' roles actually hold in one query: their
|
|
88
|
+
attributes, memberships, and grants on the database, on schemas and on the
|
|
89
|
+
relations the login owns or the plan names. It compares that with the plan and
|
|
90
|
+
sends only the differences, in batches. TimescaleDB's internal schemas are never
|
|
91
|
+
read or changed. The manifest keeps a domain-separated credential checksum and
|
|
92
|
+
the routine evidence. Fresh per-login authentication uses the configured TLS
|
|
93
|
+
material and a new connection, never a pooled session that could conceal a
|
|
94
|
+
password change.
|
|
96
95
|
The security-state row stays locked until commit to serialize with catalog
|
|
97
96
|
changes and caller admission.
|
|
98
97
|
|
|
99
98
|
All registered table policies are freshly checked even on the unchanged path.
|
|
100
99
|
Unchanged table owners and `PUBLIC` grants cause no ownership/revoke writes.
|
|
101
100
|
Policies and grant differences still apply when a trigger or catalog change
|
|
102
|
-
affects access.
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
affects access. Grants changed outside MetaTables are found by the comparison
|
|
102
|
+
and repaired. Credential rotation, pending/unready state or missing evidence sets
|
|
103
|
+
login passwords again; so do login authentication failures. Exhausted login connection capacity conservatively falls back
|
|
105
104
|
to the existing repair. libpq can omit SQLSTATE on a connection/authentication
|
|
106
105
|
failure; these ambiguous driver connection errors also require repair rather
|
|
107
|
-
than allowing a skip. Other probe failures fail deployment.
|
|
108
|
-
therefore performs one full repair to establish evidence, then converges.
|
|
106
|
+
than allowing a skip. Other probe failures fail deployment.
|
|
109
107
|
Explicit admin repair remains a full sweep; MySQL/SQL Server keep their existing
|
|
110
108
|
security initialization behavior.
|
|
111
109
|
|
|
112
110
|
The complete manifest is compared and persisted once, including backend fields;
|
|
113
|
-
reconciliation must not remove and then restore the routine fingerprint.
|
|
114
|
-
incremental changes cannot checkpoint unverified native drift as success. Failed
|
|
111
|
+
reconciliation must not remove and then restore the routine fingerprint. Failed
|
|
115
112
|
security work rolls back its catalog checkpoint and remains repairable on retry.
|
|
116
113
|
|
|
117
114
|
Named timings cover declaration/Secret resolution, bootstrap/security lock waits,
|
|
118
115
|
preflight, catalog/Alembic execution, system-schema validation, registration,
|
|
119
|
-
|
|
116
|
+
login authentication validation, routine repair, table
|
|
120
117
|
policies, roles/grants, credential-store setup, commit and final registration
|
|
121
118
|
verification. Each timing
|
|
122
119
|
reports completion/failure without connection strings, passwords, checksums or
|
|
@@ -125,7 +122,7 @@ reason, including first-run evidence establishment.
|
|
|
125
122
|
|
|
126
123
|
Focused verification uses disposable SQLite catalog transactions and recording
|
|
127
124
|
PostgreSQL adapters: unchanged deployments invoke no Alembic or catalog/journal
|
|
128
|
-
DML; unchanged
|
|
125
|
+
DML; an unchanged database emits no role/grant DDL or manifest UPDATE;
|
|
129
126
|
schema drift, interrupted/ambiguous recovery, credential rotation, permission
|
|
130
127
|
drift and failed repair remain checked. Live PostgreSQL/TimescaleDB validation is
|
|
131
128
|
separate from these non-container checks.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mainsequence-metatable"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.36.dev66"
|
|
8
8
|
description = "Main Sequence MetaTables Python client and standalone API"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
@@ -152,6 +152,13 @@ class DatabaseAccess:
|
|
|
152
152
|
deleted or their keys updated, as (schema, table, on_delete, on_update)."""
|
|
153
153
|
raise NotImplementedError
|
|
154
154
|
|
|
155
|
+
def inspect_tables(self, connection, tables):
|
|
156
|
+
"""Each table's (writable, cascade targets), keyed by UID; may repair owners or PUBLIC grants."""
|
|
157
|
+
return {
|
|
158
|
+
table.uid: (self.validate_table(connection, table), self.cascade_targets(connection, table))
|
|
159
|
+
for table in tables
|
|
160
|
+
}
|
|
161
|
+
|
|
155
162
|
def refresh_policies(self, session, tables=None):
|
|
156
163
|
"""Inspect every table's policy, or only those of the table UIDs in ``tables``."""
|
|
157
164
|
query = (
|
|
@@ -168,13 +175,16 @@ class DatabaseAccess:
|
|
|
168
175
|
for old in session.scalars(policies):
|
|
169
176
|
if old.table_uid not in current:
|
|
170
177
|
session.delete(old)
|
|
178
|
+
inspected = self.inspect_tables(
|
|
179
|
+
session.connection(), [t for t in tables if t.provisioning_status == "active"]
|
|
180
|
+
)
|
|
171
181
|
for table in tables:
|
|
172
182
|
if table.provisioning_status != "active":
|
|
173
183
|
old = session.get(SQLTablePolicy, table.uid)
|
|
174
184
|
if old:
|
|
175
185
|
session.delete(old)
|
|
176
186
|
continue
|
|
177
|
-
writable =
|
|
187
|
+
writable, targets = inspected[table.uid]
|
|
178
188
|
# The provider root is its Alembic version table.
|
|
179
189
|
if (
|
|
180
190
|
table.schema_management_mode == "alembic_managed"
|
|
@@ -192,9 +202,7 @@ class DatabaseAccess:
|
|
|
192
202
|
# Recorded for every table: the impact pre-flight shows them to readers too.
|
|
193
203
|
policy.cascade_targets = [
|
|
194
204
|
dict(schema=schema, table=name, on_delete=on_delete, on_update=on_update)
|
|
195
|
-
for schema, name, on_delete, on_update in sorted(
|
|
196
|
-
self.cascade_targets(session.connection(), table)
|
|
197
|
-
)
|
|
205
|
+
for schema, name, on_delete, on_update in sorted(targets)
|
|
198
206
|
]
|
|
199
207
|
session.flush()
|
|
200
208
|
|