mainsequence 4.0.6__tar.gz → 4.0.10__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-4.0.6 → mainsequence-4.0.10}/PKG-INFO +1 -1
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +20 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/api.py +182 -136
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/cli.py +1137 -472
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/agent_runtime_models.py +111 -32
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/base.py +26 -6
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/connections.py +14 -15
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/workspace.py +38 -25
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/workspace_snapshot.py +21 -22
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/models_helpers.py +163 -154
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/models_metatables.py +2 -4
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/models_tdag.py +247 -135
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/models_user.py +109 -35
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/base_persist_managers.py +19 -7
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/build_operations.py +26 -25
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/data_nodes.py +101 -8
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/models.py +8 -1
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/persist_managers.py +12 -4
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/run_operations.py +161 -8
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/PKG-INFO +1 -1
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/SOURCES.txt +1 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/pyproject.toml +1 -1
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_cli.py +1025 -367
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_command_center_models.py +115 -27
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_data_node_storage_dimension_queries.py +13 -18
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_data_node_update_flow.py +51 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_duckdb_interface_dimensions.py +34 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_filter_normalization.py +605 -28
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_pod_project_resolution.py +47 -2
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_project_batch_jobs_from_file.py +32 -15
- mainsequence-4.0.10/tests/test_run_configuration.py +370 -0
- mainsequence-4.0.10/tests/test_secret_client_model.py +11 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_source_table_configuration.py +68 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_sqlite_interface_dimensions.py +19 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_update_uid_guards.py +1 -1
- mainsequence-4.0.6/tests/test_run_configuration.py +0 -134
- {mainsequence-4.0.6 → mainsequence-4.0.10}/LICENSE +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/README.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/AGENTS.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/a2a_communication/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/app_components/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/maintenance/local_journal/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/__main__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/bootstrap.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/config.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/docker_utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/doctor.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/local_ops.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/project_status.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/cli/ui.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/client.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/app_component.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/command_center/data_models.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/fastapi/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/fastapi/auth.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/client/utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/compute_validation.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/defaults.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/logconf.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/runtime_flags.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/__main__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/config.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/configuration_models.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/filters.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/namespacing.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/data_nodes/utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/filters.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/future_registry.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/meta_tables/__init__.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/meta_tables/compiled_sql.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/meta_tables/hashing.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/meta_tables/sqlalchemy_contracts.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/pydantic_metadata.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence/tdag/utils.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/setup.cfg +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_auth_precedence.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_build_operations_hashing.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_client.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_command_center_app_component_models.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_command_center_data_models.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_data_access_mixin_dimension_audit.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_data_node_search_join_filters.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_dependency_extras.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_logconf.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_meta_tables_client_models.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_update_runner_uid_runtime.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_update_statistics.py +0 -0
- {mainsequence-4.0.6 → mainsequence-4.0.10}/tests/test_workspace_snapshot.py +0 -0
{mainsequence-4.0.6 → mainsequence-4.0.10}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md
RENAMED
|
@@ -179,6 +179,26 @@ Rules:
|
|
|
179
179
|
- Do not invent another schema object or parallel record declaration.
|
|
180
180
|
- Prefer `DataNodeConfiguration.records` over overriding `get_column_metadata()` for normal nodes.
|
|
181
181
|
|
|
182
|
+
### DataNode table metadata is discovery-critical
|
|
183
|
+
|
|
184
|
+
Every production `DataNodeConfiguration` should set `node_metadata` with
|
|
185
|
+
`DataNodeMetaData`. This is not decorative metadata. The `description` is used
|
|
186
|
+
for embedding-based data discovery, so it must be written as a useful dataset
|
|
187
|
+
description rather than a vague one-line label.
|
|
188
|
+
|
|
189
|
+
Good `DataNodeMetaData.description` values should describe:
|
|
190
|
+
|
|
191
|
+
- what real-world entity or process the dataset represents
|
|
192
|
+
- the row grain and identity dimensions
|
|
193
|
+
- the important measures or columns
|
|
194
|
+
- the time coverage and expected update cadence when known
|
|
195
|
+
- the source, assumptions, caveats, and intended analytical use
|
|
196
|
+
- common search terms a user might use to find this dataset
|
|
197
|
+
|
|
198
|
+
Keep `identifier` short and stable. Make `description` rich enough that a user
|
|
199
|
+
searching semantically for the dataset can find it through the embedding model.
|
|
200
|
+
Do not use the description for runtime controls or configuration.
|
|
201
|
+
|
|
182
202
|
### 8. Use `SourceTableForeignKey` when a DataNode references a MetaTable
|
|
183
203
|
|
|
184
204
|
When a DataNode source table has a column that should reference a registered
|