mainsequence 7.0.2__tar.gz → 8.0.0__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-7.0.2/mainsequence.egg-info → mainsequence-8.0.0}/PKG-INFO +18 -17
- {mainsequence-7.0.2 → mainsequence-8.0.0}/README.md +17 -16
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/AGENTS.md +54 -54
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +2 -2
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +11 -11
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/data_access/exploration/SKILL.md +6 -6
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +17 -17
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/data_publishing/time_index_table_updates/SKILL.md +8 -8
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +10 -10
- {mainsequence-7.0.2/agent_scaffold/skills/maintenance/project-maintenance → mainsequence-8.0.0/agent_scaffold/skills/maintenance/code_repository_maintenance}/SKILL.md +49 -49
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +7 -7
- {mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +45 -45
- {mainsequence-7.0.2/agent_scaffold/skills/sdk_project_execution → mainsequence-8.0.0/agent_scaffold/skills/sdk_code_repository_execution}/SKILL.md +39 -39
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/bootstrap.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/api.py +283 -267
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/cli.py +1053 -1125
- mainsequence-7.0.2/mainsequence/cli/project_status.py → mainsequence-8.0.0/mainsequence/cli/code_repository_status.py +18 -19
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/config.py +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/docker_utils.py +15 -15
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/doctor.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/local_ops.py +14 -14
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/migrations.py +15 -15
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/ssh_utils.py +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/agent_runtime_models.py +38 -38
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/base.py +20 -18
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/metatables/core.py +58 -58
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/models_foundry.py +161 -161
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/models_helpers.py +65 -65
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/models_user.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/utils.py +10 -10
- mainsequence-7.0.2/mainsequence/project_context.py → mainsequence-8.0.0/mainsequence/code_repository_context.py +185 -185
- mainsequence-7.0.2/mainsequence/project_skills.py → mainsequence-8.0.0/mainsequence/code_repository_skills.py +105 -105
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/logconf.py +3 -2
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/__init__.py +7 -7
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/alembic.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/scaffold.py +5 -5
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/sqlalchemy_contracts.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_refs.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/managers.py +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/updaters.py +2 -2
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/runtime_flags.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/scaffold_skills.py +25 -25
- {mainsequence-7.0.2 → mainsequence-8.0.0/mainsequence.egg-info}/PKG-INFO +18 -17
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence.egg-info/SOURCES.txt +9 -9
- {mainsequence-7.0.2 → mainsequence-8.0.0}/pyproject.toml +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_auth_precedence.py +7 -7
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_canonical_api_route_contract.py +6 -6
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_cli.py +905 -905
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_cli_migrations.py +25 -25
- mainsequence-8.0.0/tests/test_client.py +113 -0
- mainsequence-7.0.2/tests/test_project_batch_jobs_from_file.py → mainsequence-8.0.0/tests/test_code_repository_batch_jobs_from_file.py +3 -1
- mainsequence-8.0.0/tests/test_code_repository_branch_contract.py +280 -0
- mainsequence-7.0.2/tests/test_project_runtime_context.py → mainsequence-8.0.0/tests/test_code_repository_runtime_context.py +131 -131
- mainsequence-7.0.2/tests/test_project_skills.py → mainsequence-8.0.0/tests/test_code_repository_skills.py +79 -87
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_dependency_extras.py +2 -2
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_environment_resource_context.py +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_environment_response_contracts.py +5 -5
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_filter_normalization.py +132 -132
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_logconf.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_meta_table_migrations.py +76 -76
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_meta_tables_client_models.py +40 -40
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_meta_tables_sqlalchemy_contracts.py +24 -24
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_scaffold_skills.py +28 -28
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_scheduler_client_model.py +5 -5
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_schema_names.py +3 -3
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_ssh_utils.py +1 -1
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_update_configuration_client.py +7 -7
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_update_hard_cut.py +2 -2
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_update_statistics.py +1 -1
- mainsequence-7.0.2/tests/test_client.py +0 -116
- mainsequence-7.0.2/tests/test_project_branch_contract.py +0 -278
- {mainsequence-7.0.2 → mainsequence-8.0.0}/LICENSE +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/MANIFEST.in +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/__main__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/cli/ui.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/client.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/compute_validation.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/dtype_codec.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/metatables/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/client/observability.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/defaults.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/__main__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/future_registry.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/hashing.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/env.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/provider.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/registry.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/schema_names.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/__init__.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/configuration.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/dependencies.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/namespacing.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/runner.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence/meta_tables/time_index_table_updates/utils.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/setup.cfg +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/fixtures/time_index_table_update_hash_v2_golden.json +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_duckdb_interface_dimensions.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_instrumentation.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_local_ops.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_notification_uid_contract.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_observability_client.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_pod_project_resolution.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_secret_client_model.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_source_table_configuration.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_sqlite_interface_dimensions.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_access_dimension_audit.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_dimension_queries.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_update_configuration.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_time_index_table_update_flow.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_update_runner_uid_runtime.py +0 -0
- {mainsequence-7.0.2 → mainsequence-8.0.0}/tests/test_update_uid_guards.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mainsequence
|
|
3
|
-
Version:
|
|
3
|
+
Version: 8.0.0
|
|
4
4
|
Summary: Main Sequence SDK
|
|
5
5
|
Author-email: Main Sequence GmbH <dev@main-sequence.io>
|
|
6
6
|
License-Expression: LicenseRef-MainSequence-Proprietary
|
|
@@ -61,7 +61,7 @@ The Main Sequence platform allows you to:
|
|
|
61
61
|
|
|
62
62
|
The key idea is that you can focus on development and deployment, while the platform handles the DevOps layer.
|
|
63
63
|
|
|
64
|
-
##
|
|
64
|
+
## Repository Status
|
|
65
65
|
|
|
66
66
|
- Status: actively maintained
|
|
67
67
|
- Last commit: `2026-03-27` - [`6aa5dea`](https://github.com/mainsequence-sdk/mainsequence-sdk/commit/6aa5deab73586226c7b267abf2e3f02f4f7e7669) - `docs logo fix v.3.17.6`
|
|
@@ -69,16 +69,16 @@ The key idea is that you can focus on development and deployment, while the plat
|
|
|
69
69
|
- Documentation: [Documentation Site](https://mainsequence-sdk.github.io/mainsequence-sdk/)
|
|
70
70
|
- Security policy: [SECURITY.md](SECURITY.md)
|
|
71
71
|
- Release history: [CHANGELOG.md](CHANGELOG.md)
|
|
72
|
-
- Major-version
|
|
72
|
+
- Major-version migrations: [Migration guides](docs/migrations/v8-code-repository-ontology.md)
|
|
73
73
|
|
|
74
74
|
## What this repository contains
|
|
75
75
|
|
|
76
|
-
This repository contains the SDK and
|
|
76
|
+
This repository contains the SDK and documentation used to build and operate Main Sequence CodeRepositories.
|
|
77
77
|
|
|
78
78
|
Main package areas:
|
|
79
79
|
|
|
80
80
|
- `mainsequence.meta_tables`: `MetaTable`s, `TimeIndexTableUpdater`s, update workflows, and persistence
|
|
81
|
-
- `mainsequence.client`: API client models for
|
|
81
|
+
- `mainsequence.client`: API client models for CodeRepositories, jobs, time-index tables, sharing, and platform resources
|
|
82
82
|
- `mainsequence.cli`: the `mainsequence` command-line interface
|
|
83
83
|
|
|
84
84
|
Repository areas:
|
|
@@ -97,7 +97,7 @@ The documentation is organized into three reading modes:
|
|
|
97
97
|
Recommended entry points:
|
|
98
98
|
|
|
99
99
|
- Beginner tutorial:
|
|
100
|
-
- [MainSequence SDK tutorial
|
|
100
|
+
- [MainSequence SDK tutorial CodeRepository](https://github.com/mainsequence-projects/mainsequence-sdk-tutorial)
|
|
101
101
|
- Knowledge:
|
|
102
102
|
- [Time-Index Table Updaters](docs/knowledge/time_index_table_updates.md)
|
|
103
103
|
- [MetaTables](docs/knowledge/meta_tables/index.md)
|
|
@@ -105,6 +105,7 @@ Recommended entry points:
|
|
|
105
105
|
- [Scheduling Jobs](docs/knowledge/infrastructure/scheduling_jobs.md)
|
|
106
106
|
- [Streamlit Dashboards](docs/knowledge/dashboards/streamlit/index.md)
|
|
107
107
|
- Migrations:
|
|
108
|
+
- [7.x to 8.0: CodeRepository ontology hard cut](docs/migrations/v8-code-repository-ontology.md)
|
|
108
109
|
- [6.x to 7.0: Time-Index Table Updater hard cut](docs/migrations/v7-time-index-table-updater-hard-cut.md)
|
|
109
110
|
- CLI:
|
|
110
111
|
- [CLI Overview](docs/cli/index.md)
|
|
@@ -129,24 +130,24 @@ session with `mainsequence login --mcp`, then call the printed
|
|
|
129
130
|
callback URI; tokens return directly to the CLI and are never exposed through
|
|
130
131
|
MCP.
|
|
131
132
|
|
|
132
|
-
Check that you can see your
|
|
133
|
+
Check that you can see your CodeRepositories:
|
|
133
134
|
|
|
134
135
|
```bash
|
|
135
|
-
mainsequence
|
|
136
|
+
mainsequence code-repository list
|
|
136
137
|
```
|
|
137
138
|
|
|
138
|
-
Create a new
|
|
139
|
+
Create a new CodeRepository:
|
|
139
140
|
|
|
140
141
|
```bash
|
|
141
|
-
mainsequence
|
|
142
|
+
mainsequence code-repository create my-first-repository
|
|
142
143
|
```
|
|
143
144
|
|
|
144
145
|
Set it up locally:
|
|
145
146
|
|
|
146
147
|
```bash
|
|
147
|
-
mainsequence
|
|
148
|
-
cd my-first-
|
|
149
|
-
mainsequence
|
|
148
|
+
mainsequence code-repository set-up-locally <CODE_REPOSITORY_UID>
|
|
149
|
+
cd my-first-repository
|
|
150
|
+
mainsequence code-repository build-local-venv --path .
|
|
150
151
|
```
|
|
151
152
|
|
|
152
153
|
From there, the normal learning path is:
|
|
@@ -157,7 +158,7 @@ From there, the normal learning path is:
|
|
|
157
158
|
4. add an API or another application surface
|
|
158
159
|
5. schedule jobs
|
|
159
160
|
6. build dashboards or downstream consumers
|
|
160
|
-
7. package the
|
|
161
|
+
7. package the CodeRepository as an agent-facing surface when it is ready
|
|
161
162
|
|
|
162
163
|
## Installation for development
|
|
163
164
|
|
|
@@ -213,13 +214,13 @@ black .
|
|
|
213
214
|
|
|
214
215
|
If you are evaluating the platform:
|
|
215
216
|
|
|
216
|
-
- start with the separate canonical tutorial
|
|
217
|
+
- start with the separate canonical tutorial CodeRepository linked above
|
|
217
218
|
|
|
218
219
|
If you are building a feature and already know the area:
|
|
219
220
|
|
|
220
221
|
- go straight to the relevant guide in `docs/knowledge/`
|
|
221
222
|
|
|
222
|
-
If you are operating
|
|
223
|
+
If you are operating CodeRepositories day to day:
|
|
223
224
|
|
|
224
225
|
- use `docs/cli/` and the `mainsequence --help` command tree
|
|
225
226
|
|
|
@@ -233,7 +234,7 @@ If you need the exact SDK surface:
|
|
|
233
234
|
- Python: `>=3.13`
|
|
234
235
|
- CLI entry point: `mainsequence`
|
|
235
236
|
|
|
236
|
-
|
|
237
|
+
Package metadata is defined in [pyproject.toml](pyproject.toml).
|
|
237
238
|
|
|
238
239
|
## License
|
|
239
240
|
|
|
@@ -19,7 +19,7 @@ The Main Sequence platform allows you to:
|
|
|
19
19
|
|
|
20
20
|
The key idea is that you can focus on development and deployment, while the platform handles the DevOps layer.
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## Repository Status
|
|
23
23
|
|
|
24
24
|
- Status: actively maintained
|
|
25
25
|
- Last commit: `2026-03-27` - [`6aa5dea`](https://github.com/mainsequence-sdk/mainsequence-sdk/commit/6aa5deab73586226c7b267abf2e3f02f4f7e7669) - `docs logo fix v.3.17.6`
|
|
@@ -27,16 +27,16 @@ The key idea is that you can focus on development and deployment, while the plat
|
|
|
27
27
|
- Documentation: [Documentation Site](https://mainsequence-sdk.github.io/mainsequence-sdk/)
|
|
28
28
|
- Security policy: [SECURITY.md](SECURITY.md)
|
|
29
29
|
- Release history: [CHANGELOG.md](CHANGELOG.md)
|
|
30
|
-
- Major-version
|
|
30
|
+
- Major-version migrations: [Migration guides](docs/migrations/v8-code-repository-ontology.md)
|
|
31
31
|
|
|
32
32
|
## What this repository contains
|
|
33
33
|
|
|
34
|
-
This repository contains the SDK and
|
|
34
|
+
This repository contains the SDK and documentation used to build and operate Main Sequence CodeRepositories.
|
|
35
35
|
|
|
36
36
|
Main package areas:
|
|
37
37
|
|
|
38
38
|
- `mainsequence.meta_tables`: `MetaTable`s, `TimeIndexTableUpdater`s, update workflows, and persistence
|
|
39
|
-
- `mainsequence.client`: API client models for
|
|
39
|
+
- `mainsequence.client`: API client models for CodeRepositories, jobs, time-index tables, sharing, and platform resources
|
|
40
40
|
- `mainsequence.cli`: the `mainsequence` command-line interface
|
|
41
41
|
|
|
42
42
|
Repository areas:
|
|
@@ -55,7 +55,7 @@ The documentation is organized into three reading modes:
|
|
|
55
55
|
Recommended entry points:
|
|
56
56
|
|
|
57
57
|
- Beginner tutorial:
|
|
58
|
-
- [MainSequence SDK tutorial
|
|
58
|
+
- [MainSequence SDK tutorial CodeRepository](https://github.com/mainsequence-projects/mainsequence-sdk-tutorial)
|
|
59
59
|
- Knowledge:
|
|
60
60
|
- [Time-Index Table Updaters](docs/knowledge/time_index_table_updates.md)
|
|
61
61
|
- [MetaTables](docs/knowledge/meta_tables/index.md)
|
|
@@ -63,6 +63,7 @@ Recommended entry points:
|
|
|
63
63
|
- [Scheduling Jobs](docs/knowledge/infrastructure/scheduling_jobs.md)
|
|
64
64
|
- [Streamlit Dashboards](docs/knowledge/dashboards/streamlit/index.md)
|
|
65
65
|
- Migrations:
|
|
66
|
+
- [7.x to 8.0: CodeRepository ontology hard cut](docs/migrations/v8-code-repository-ontology.md)
|
|
66
67
|
- [6.x to 7.0: Time-Index Table Updater hard cut](docs/migrations/v7-time-index-table-updater-hard-cut.md)
|
|
67
68
|
- CLI:
|
|
68
69
|
- [CLI Overview](docs/cli/index.md)
|
|
@@ -87,24 +88,24 @@ session with `mainsequence login --mcp`, then call the printed
|
|
|
87
88
|
callback URI; tokens return directly to the CLI and are never exposed through
|
|
88
89
|
MCP.
|
|
89
90
|
|
|
90
|
-
Check that you can see your
|
|
91
|
+
Check that you can see your CodeRepositories:
|
|
91
92
|
|
|
92
93
|
```bash
|
|
93
|
-
mainsequence
|
|
94
|
+
mainsequence code-repository list
|
|
94
95
|
```
|
|
95
96
|
|
|
96
|
-
Create a new
|
|
97
|
+
Create a new CodeRepository:
|
|
97
98
|
|
|
98
99
|
```bash
|
|
99
|
-
mainsequence
|
|
100
|
+
mainsequence code-repository create my-first-repository
|
|
100
101
|
```
|
|
101
102
|
|
|
102
103
|
Set it up locally:
|
|
103
104
|
|
|
104
105
|
```bash
|
|
105
|
-
mainsequence
|
|
106
|
-
cd my-first-
|
|
107
|
-
mainsequence
|
|
106
|
+
mainsequence code-repository set-up-locally <CODE_REPOSITORY_UID>
|
|
107
|
+
cd my-first-repository
|
|
108
|
+
mainsequence code-repository build-local-venv --path .
|
|
108
109
|
```
|
|
109
110
|
|
|
110
111
|
From there, the normal learning path is:
|
|
@@ -115,7 +116,7 @@ From there, the normal learning path is:
|
|
|
115
116
|
4. add an API or another application surface
|
|
116
117
|
5. schedule jobs
|
|
117
118
|
6. build dashboards or downstream consumers
|
|
118
|
-
7. package the
|
|
119
|
+
7. package the CodeRepository as an agent-facing surface when it is ready
|
|
119
120
|
|
|
120
121
|
## Installation for development
|
|
121
122
|
|
|
@@ -171,13 +172,13 @@ black .
|
|
|
171
172
|
|
|
172
173
|
If you are evaluating the platform:
|
|
173
174
|
|
|
174
|
-
- start with the separate canonical tutorial
|
|
175
|
+
- start with the separate canonical tutorial CodeRepository linked above
|
|
175
176
|
|
|
176
177
|
If you are building a feature and already know the area:
|
|
177
178
|
|
|
178
179
|
- go straight to the relevant guide in `docs/knowledge/`
|
|
179
180
|
|
|
180
|
-
If you are operating
|
|
181
|
+
If you are operating CodeRepositories day to day:
|
|
181
182
|
|
|
182
183
|
- use `docs/cli/` and the `mainsequence --help` command tree
|
|
183
184
|
|
|
@@ -191,7 +192,7 @@ If you need the exact SDK surface:
|
|
|
191
192
|
- Python: `>=3.13`
|
|
192
193
|
- CLI entry point: `mainsequence`
|
|
193
194
|
|
|
194
|
-
|
|
195
|
+
Package metadata is defined in [pyproject.toml](pyproject.toml).
|
|
195
196
|
|
|
196
197
|
## License
|
|
197
198
|
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
|
|
3
|
-
You are a dual-mandate agent. Follow the
|
|
3
|
+
You are a dual-mandate agent. Follow the repository-specific instructions in this file and the
|
|
4
4
|
relevant skills, while also keeping in mind that application surfaces, data, and implementation
|
|
5
5
|
operate within the Main Sequence platform and must follow Main Sequence platform instructions.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Repository-Specific Instructions
|
|
8
8
|
|
|
9
|
-
[ HERE SHOULD BE THE
|
|
10
|
-
THIS LINE UNLESS YOU REPLACE IT WITH REAL
|
|
9
|
+
[ HERE SHOULD BE THE REPOSITORY-SPECIFIC ACTIONS, RULES, CONTEXT, AND LOCAL NOTES. DO NOT REMOVE
|
|
10
|
+
THIS LINE UNLESS YOU REPLACE IT WITH REAL REPOSITORY-SPECIFIC CONTENT. ]
|
|
11
11
|
|
|
12
12
|
Do not remove the `<!-- mainsequence-agent-scaffold:start schema=1 source=agent_scaffold -->`
|
|
13
|
-
or `<!-- mainsequence-agent-scaffold:end -->` markers. `mainsequence
|
|
13
|
+
or `<!-- mainsequence-agent-scaffold:end -->` markers. `mainsequence code-repository update AGENTS.md`
|
|
14
14
|
uses them to update only the Main Sequence section below.
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
<!-- mainsequence-agent-scaffold:start schema=1 source=agent_scaffold -->
|
|
18
18
|
## Main Sequence Instructions
|
|
19
19
|
|
|
20
|
-
Before any non-trivial Main Sequence work, update the
|
|
20
|
+
Before any non-trivial Main Sequence work, update the CodeRepository SDK first, then compare the
|
|
21
21
|
installed SDK version with the managed skills pin:
|
|
22
22
|
|
|
23
|
-
- `mainsequence
|
|
23
|
+
- `mainsequence code-repository update-sdk --path .`
|
|
24
24
|
|
|
25
25
|
After the SDK update, inspect `.agents/skills/mainsequence/PINNED_FROM.txt`.
|
|
26
26
|
The schema-2 record describes both sources installed by
|
|
27
|
-
`mainsequence
|
|
27
|
+
`mainsequence code-repository update-agent-skills`:
|
|
28
28
|
|
|
29
29
|
- `sdk_version=...` and `sdk_skills_path=...` identify the SDK-owned execution
|
|
30
|
-
skills copied from the target
|
|
30
|
+
skills copied from the target code repository's installed SDK;
|
|
31
31
|
- `platform_manifest_version=...`, `platform_manifest_sha256=...`,
|
|
32
32
|
`platform_ontology_sha256=...`, and the
|
|
33
33
|
`platform_resource.<name>.*` fields identify the platform-owned ontology and
|
|
@@ -40,8 +40,8 @@ Compare the SDK value with the installed version reported by
|
|
|
40
40
|
Refresh the managed scaffold only when `PINNED_FROM.txt` is missing or its
|
|
41
41
|
`pinned_version` differs from the installed SDK version:
|
|
42
42
|
|
|
43
|
-
- `mainsequence
|
|
44
|
-
- `mainsequence
|
|
43
|
+
- `mainsequence code-repository update-agent-skills --path .`
|
|
44
|
+
- `mainsequence code-repository update AGENTS.md --path .`
|
|
45
45
|
|
|
46
46
|
If `sdk_version` already matches the installed SDK version and no explicit
|
|
47
47
|
platform-skill refresh is needed, do not refresh `AGENTS.md` or
|
|
@@ -66,7 +66,7 @@ Core responsibilities:
|
|
|
66
66
|
- for APIs serving the Command Center frontend, use the contract-authoritative
|
|
67
67
|
FastAPI release workflow
|
|
68
68
|
- for visualization, confirm the delivery target with the user:
|
|
69
|
-
- if they want a Streamlit app, treat app design and implementation as
|
|
69
|
+
- if they want a Streamlit app, treat app design and implementation as repository-owned code and
|
|
70
70
|
use Main Sequence skills only for platform deployment and release verification
|
|
71
71
|
- for scheduled execution, releases, and backend operations, use jobs, images, resources, and
|
|
72
72
|
other platform objects through the proper platform skills
|
|
@@ -74,7 +74,7 @@ Core responsibilities:
|
|
|
74
74
|
- route each part of the work to the correct repository skill instead of improvising across domains
|
|
75
75
|
- use the `mainsequence` CLI as the default control surface for backend and platform interaction
|
|
76
76
|
- translate user business logic into reusable code under `src/` so it can be reused by APIs,
|
|
77
|
-
dashboards, jobs, and other
|
|
77
|
+
dashboards, jobs, and other repository components instead of duplicating logic in integration
|
|
78
78
|
layers
|
|
79
79
|
- use the bug auditor skill for blocker and SDK/platform issue assessment
|
|
80
80
|
|
|
@@ -85,7 +85,7 @@ Typical outcomes include:
|
|
|
85
85
|
- build and release a `FastAPI` API whose Command Center contract-bearing
|
|
86
86
|
responses conform to a recorded revision of the canonical Command Center SDK
|
|
87
87
|
GitHub contracts
|
|
88
|
-
- confirm whether a visualization should be a
|
|
88
|
+
- confirm whether a visualization should be a repository-owned Streamlit app or a reusable Command
|
|
89
89
|
Center surface before building or deploying it
|
|
90
90
|
- build reusable business logic in `src/` and keep thin integration layers in APIs, jobs, and
|
|
91
91
|
dashboards
|
|
@@ -185,18 +185,18 @@ Use the latest relevant documentation or specialized skill for the task at hand.
|
|
|
185
185
|
|
|
186
186
|
Typical routing:
|
|
187
187
|
|
|
188
|
-
-
|
|
188
|
+
- product architecture, ontology, and Project Blueprint:
|
|
189
189
|
`.agents/skills/mainsequence/project_design/SKILL.md`
|
|
190
|
-
-
|
|
190
|
+
- CodeRepository setup, local checkout, CLI environment, scaffolding, and standard
|
|
191
191
|
repository layout:
|
|
192
|
-
`.agents/skills/mainsequence/
|
|
193
|
-
- local environment repair,
|
|
194
|
-
managed skill refresh, and canonical
|
|
195
|
-
`.agents/skills/mainsequence/maintenance/
|
|
196
|
-
- turning an existing
|
|
197
|
-
|
|
198
|
-
`.agents/skills/mainsequence/
|
|
199
|
-
-
|
|
192
|
+
`.agents/skills/mainsequence/sdk_code_repository_execution/SKILL.md`
|
|
193
|
+
- local environment repair, CodeRepository authentication refresh, SDK updates,
|
|
194
|
+
managed skill refresh, and canonical CodeRepository sync:
|
|
195
|
+
`.agents/skills/mainsequence/maintenance/code_repository_maintenance/SKILL.md`
|
|
196
|
+
- turning an existing CodeRepository into a code-repository-backed coding agent, defining
|
|
197
|
+
repository-owned skills, and authoring `.agents/agent_card.json`:
|
|
198
|
+
`.agents/skills/mainsequence/code_repository_to_agent/SKILL.md`
|
|
199
|
+
- CodeRepository status audits, blocker analysis, failure classification, and upstream SDK assessment:
|
|
200
200
|
`.agents/skills/mainsequence/maintenance/bug_auditor/SKILL.md`
|
|
201
201
|
- TimeIndexTableUpdaters, updates, identifiers, schema, metadata:
|
|
202
202
|
`.agents/skills/mainsequence/data_publishing/time_index_table_updates/SKILL.md`
|
|
@@ -206,14 +206,14 @@ Typical routing:
|
|
|
206
206
|
`.agents/skills/mainsequence/data_access/exploration/SKILL.md`
|
|
207
207
|
- FastAPI APIs serving the Command Center frontend and their release lifecycle:
|
|
208
208
|
`.agents/skills/mainsequence/application_surfaces/api_surfaces/SKILL.md`
|
|
209
|
-
- jobs, schedules, images,
|
|
209
|
+
- jobs, schedules, images, code repository resources, releases, and Artifacts:
|
|
210
210
|
`.agents/skills/mainsequence/platform_operations/orchestration_and_releases/SKILL.md`
|
|
211
211
|
- RBAC, sharing, constants, secrets, and access verification:
|
|
212
212
|
`.agents/skills/mainsequence/platform_operations/access_control_and_sharing/SKILL.md`
|
|
213
213
|
- Streamlit dashboard deployment and release verification:
|
|
214
214
|
`.agents/skills/mainsequence/platform_operations/orchestration_and_releases/SKILL.md`
|
|
215
215
|
|
|
216
|
-
Streamlit dashboard design and implementation are app-owned
|
|
216
|
+
Streamlit dashboard design and implementation are app-owned repository work, not a separate Main
|
|
217
217
|
Sequence scaffold skill. Route only deployment of an already-authored Streamlit dashboard to
|
|
218
218
|
orchestration and releases.
|
|
219
219
|
|
|
@@ -223,15 +223,15 @@ For any non-trivial Main Sequence task:
|
|
|
223
223
|
|
|
224
224
|
1. Read the latest relevant Main Sequence documentation.
|
|
225
225
|
2. Compare the implementation against the latest documented behavior.
|
|
226
|
-
3. Confirm you are in the correct
|
|
226
|
+
3. Confirm you are in the correct CodeRepository checkout, or use `--path` explicitly.
|
|
227
227
|
4. Confirm platform context with:
|
|
228
|
-
`mainsequence
|
|
228
|
+
`mainsequence code-repository current --debug`
|
|
229
229
|
5. Before validations or live checks, run:
|
|
230
|
-
`mainsequence
|
|
230
|
+
`mainsequence code-repository refresh-token --path .`
|
|
231
231
|
6. If git push or pull is required, use:
|
|
232
|
-
`mainsequence
|
|
233
|
-
7. Before proceeding with non-trivial Main Sequence work, update the
|
|
234
|
-
`mainsequence
|
|
232
|
+
`mainsequence code-repository open-signed-terminal <CODE_REPOSITORY_UID>`
|
|
233
|
+
7. Before proceeding with non-trivial Main Sequence work, update the CodeRepository SDK:
|
|
234
|
+
`mainsequence code-repository update-sdk --path .`
|
|
235
235
|
8. After updating the SDK, compare `mainsequence --version` with
|
|
236
236
|
`.agents/skills/mainsequence/PINNED_FROM.txt` field `sdk_version=...`
|
|
237
237
|
(`pinned_version=...` is its compatibility alias), and verify that the
|
|
@@ -239,8 +239,8 @@ For any non-trivial Main Sequence task:
|
|
|
239
239
|
9. If `PINNED_FROM.txt` is missing, `sdk_version` differs from the installed
|
|
240
240
|
SDK version, or a platform-skill refresh is explicitly required, refresh
|
|
241
241
|
the managed scaffold files:
|
|
242
|
-
`mainsequence
|
|
243
|
-
`mainsequence
|
|
242
|
+
`mainsequence code-repository update-agent-skills --path .`
|
|
243
|
+
`mainsequence code-repository update AGENTS.md --path .`
|
|
244
244
|
10. If `sdk_version` already matches the installed SDK version and no platform
|
|
245
245
|
refresh is required, do not refresh `AGENTS.md` or
|
|
246
246
|
`.agents/skills/mainsequence/` as a startup ritual.
|
|
@@ -253,21 +253,21 @@ Use the skills as an orchestrated sequence, not as isolated documents.
|
|
|
253
253
|
Default pattern:
|
|
254
254
|
|
|
255
255
|
1. `.agents/skills/mainsequence/project_design/SKILL.md`
|
|
256
|
-
2. `.agents/skills/mainsequence/
|
|
256
|
+
2. `.agents/skills/mainsequence/sdk_code_repository_execution/SKILL.md`
|
|
257
257
|
3. the relevant domain skill
|
|
258
258
|
|
|
259
|
-
When the intended
|
|
260
|
-
`.agents/skills/mainsequence/
|
|
261
|
-
|
|
259
|
+
When the intended repository surface is a code-repository-backed coding agent, apply
|
|
260
|
+
`.agents/skills/mainsequence/code_repository_to_agent/SKILL.md` after the relevant
|
|
261
|
+
repository behavior exists and has been verified. The repository source card is
|
|
262
262
|
not the runtime A2A Agent Card; the deployed runtime supplies its concrete
|
|
263
263
|
interfaces and security declarations.
|
|
264
264
|
|
|
265
265
|
Use `.agents/skills/mainsequence/project_design/SKILL.md` as the platform
|
|
266
266
|
source of truth for intent and ontology. Use
|
|
267
|
-
`.agents/skills/mainsequence/
|
|
267
|
+
`.agents/skills/mainsequence/sdk_code_repository_execution/SKILL.md` for installed-SDK,
|
|
268
268
|
CLI, filesystem, and local repository execution mechanics. Use
|
|
269
|
-
`.agents/skills/mainsequence/maintenance/
|
|
270
|
-
repeatable environment, authentication, SDK, scaffold-refresh, and
|
|
269
|
+
`.agents/skills/mainsequence/maintenance/code_repository_maintenance/SKILL.md` for
|
|
270
|
+
repeatable environment, authentication, SDK, scaffold-refresh, and CodeRepository-sync
|
|
271
271
|
routines.
|
|
272
272
|
|
|
273
273
|
## Core Working Rules
|
|
@@ -292,23 +292,23 @@ When platform state matters, verify it with the CLI and/or platform UI.
|
|
|
292
292
|
|
|
293
293
|
At minimum, verify relevant:
|
|
294
294
|
|
|
295
|
-
- current
|
|
295
|
+
- current code repository selection
|
|
296
296
|
- data availability
|
|
297
297
|
- jobs
|
|
298
298
|
- job runs and logs
|
|
299
|
-
-
|
|
299
|
+
- code repository images
|
|
300
300
|
- dashboard or agent resources/releases
|
|
301
301
|
- data assets
|
|
302
|
-
- related platform objects used by the
|
|
302
|
+
- related platform objects used by the CodeRepository
|
|
303
303
|
|
|
304
304
|
Typical verification commands:
|
|
305
305
|
|
|
306
|
-
- `mainsequence
|
|
307
|
-
- `mainsequence
|
|
308
|
-
- `mainsequence
|
|
309
|
-
- `mainsequence
|
|
310
|
-
- `mainsequence
|
|
311
|
-
- `mainsequence
|
|
306
|
+
- `mainsequence code-repository current --debug`
|
|
307
|
+
- `mainsequence code-repository jobs list`
|
|
308
|
+
- `mainsequence code-repository jobs runs list <JOB_UID>`
|
|
309
|
+
- `mainsequence code-repository jobs runs logs <JOB_RUN_UID> --max-wait-seconds 900`
|
|
310
|
+
- `mainsequence code-repository images list`
|
|
311
|
+
- `mainsequence code-repository resources list`
|
|
312
312
|
|
|
313
313
|
If live verification is not possible:
|
|
314
314
|
|
|
@@ -318,7 +318,7 @@ If live verification is not possible:
|
|
|
318
318
|
|
|
319
319
|
## Dependency Management Rules
|
|
320
320
|
|
|
321
|
-
Manage
|
|
321
|
+
Manage CodeRepository Python dependencies with `uv`.
|
|
322
322
|
|
|
323
323
|
Rules:
|
|
324
324
|
|
|
@@ -326,16 +326,16 @@ Rules:
|
|
|
326
326
|
- add development-only libraries with `uv add --dev <package>`
|
|
327
327
|
- do not edit dependency declarations or lockfiles manually when `uv` should manage them
|
|
328
328
|
- do not treat `requirements.txt` as the source of truth for dependency changes
|
|
329
|
-
- when dependency changes matter to the
|
|
329
|
+
- when dependency changes matter to the CodeRepository runtime, keep the `uv`-managed package files and
|
|
330
330
|
exported requirements in sync
|
|
331
331
|
|
|
332
332
|
## Documentation Rules
|
|
333
333
|
|
|
334
|
-
- all formal
|
|
334
|
+
- all formal CodeRepository documentation must live under `docs/`
|
|
335
335
|
- documentation must remain MkDocs-compatible
|
|
336
336
|
- keep `docs/SUMMARY.md` aligned with the docs structure
|
|
337
337
|
- the root `README.md` must remain the entry point and documentation map
|
|
338
|
-
- every major
|
|
338
|
+
- every major CodeRepository area must have its own page under `docs/`
|
|
339
339
|
- operational and verification procedures must be documented under `docs/`
|
|
340
340
|
- any new feature, workflow, component, or integration must be reflected in documentation
|
|
341
341
|
|
|
@@ -49,7 +49,7 @@ mainsequence agent search "<discoveryPrompt>" \
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
Use the canonical Organization Environment UID associated with the target
|
|
52
|
-
|
|
52
|
+
CodeRepositoryBranch. It scopes discovery only; it does not create, assign, or override an
|
|
53
53
|
Agent's environment.
|
|
54
54
|
|
|
55
55
|
4. Treat the CLI output as authoritative.
|
|
@@ -341,7 +341,7 @@ handle for a different task or conversation.
|
|
|
341
341
|
### Runtime-Owned Child Or Executor Agent
|
|
342
342
|
|
|
343
343
|
- May use bounded A2A within the active task scope without separate user confirmation.
|
|
344
|
-
- Should keep the request tightly scoped to the current
|
|
344
|
+
- Should keep the request tightly scoped to the current CodeRepository or active task.
|
|
345
345
|
|
|
346
346
|
## A2A Response Behavior
|
|
347
347
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mainsequence-command-center-fastapi
|
|
3
|
-
description: Build, contract-test, release, and verify a FastAPI
|
|
3
|
+
description: Build, contract-test, release, and verify a FastAPI code repository resource that serves the Command Center frontend. Use when a Main Sequence API must implement a wire contract defined by the mainsequence-sdk/command-center-sdk GitHub repository and then move through local testing, code-repository sync, image and resource resolution, FastAPI ResourceRelease creation, and deployed frontend validation.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Command Center FastAPI Release Lifecycle
|
|
@@ -94,7 +94,7 @@ Record:
|
|
|
94
94
|
|
|
95
95
|
FastAPI releases receive the authenticated human from the Main Sequence
|
|
96
96
|
platform through injected request state. No SDK authentication setup is
|
|
97
|
-
required in
|
|
97
|
+
required in repository code:
|
|
98
98
|
|
|
99
99
|
```python
|
|
100
100
|
from fastapi import FastAPI, Request
|
|
@@ -132,7 +132,7 @@ Keep Command Center contract-bearing route code focused on transport and
|
|
|
132
132
|
application behavior:
|
|
133
133
|
|
|
134
134
|
1. validate request bodies and parameters
|
|
135
|
-
2. invoke
|
|
135
|
+
2. invoke repository-owned services and Main Sequence data access
|
|
136
136
|
3. serialize the declared Command Center contract
|
|
137
137
|
4. validate the serialized body against the schema from the selected repository
|
|
138
138
|
commit before it crosses the HTTP boundary
|
|
@@ -176,24 +176,24 @@ Adapter From API schema and fixtures at the selected repository commit.
|
|
|
176
176
|
|
|
177
177
|
### 5. Release the tested commit
|
|
178
178
|
|
|
179
|
-
Before release, verify local
|
|
179
|
+
Before release, verify local CodeRepository resolution:
|
|
180
180
|
|
|
181
181
|
```bash
|
|
182
|
-
mainsequence
|
|
182
|
+
mainsequence code-repository current --debug --json
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
Then move the tested code through the canonical lifecycle:
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
|
-
mainsequence
|
|
189
|
-
mainsequence
|
|
190
|
-
mainsequence
|
|
191
|
-
mainsequence
|
|
188
|
+
mainsequence code-repository sync -m "Release Command Center API"
|
|
189
|
+
mainsequence code-repository images create
|
|
190
|
+
mainsequence code-repository resources list --filter resource_type=fastapi
|
|
191
|
+
mainsequence code-repository resources create_fastapi
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
Verify that:
|
|
195
195
|
|
|
196
|
-
-
|
|
196
|
+
- code-repository sync used the intended Git branch
|
|
197
197
|
- the selected image contains the exact tested commit
|
|
198
198
|
- resource discovery found the expected FastAPI path at that commit
|
|
199
199
|
- the selected resource UID and image UID refer to the same commit
|
|
@@ -226,7 +226,7 @@ Report:
|
|
|
226
226
|
- implemented contract IDs and schema `$id` values
|
|
227
227
|
- conformance and route-test results
|
|
228
228
|
- local frontend integration path used
|
|
229
|
-
- Git commit,
|
|
229
|
+
- Git commit, code repository image UID, code repository resource UID, and release identity
|
|
230
230
|
- deployed contract validation and Command Center frontend result
|
|
231
231
|
- whether automatic deployment is enabled and why
|
|
232
232
|
|
{mainsequence-7.0.2 → mainsequence-8.0.0}/agent_scaffold/skills/data_access/exploration/SKILL.md
RENAMED
|
@@ -43,7 +43,7 @@ This skill discovers and identifies data. It does not publish, redesign, or defi
|
|
|
43
43
|
|
|
44
44
|
## Route Adjacent Work
|
|
45
45
|
|
|
46
|
-
-
|
|
46
|
+
- CodeRepository bootstrap, scaffolding, and routing:
|
|
47
47
|
`.agents/skills/mainsequence/project_design/SKILL.md`
|
|
48
48
|
- `TimeIndexTableUpdater` creation or modification:
|
|
49
49
|
`.agents/skills/mainsequence/data_publishing/time_index_table_updates/SKILL.md`
|
|
@@ -56,7 +56,7 @@ This skill discovers and identifies data. It does not publish, redesign, or defi
|
|
|
56
56
|
- blocker and failure analysis:
|
|
57
57
|
`.agents/skills/mainsequence/maintenance/bug_auditor/SKILL.md`
|
|
58
58
|
|
|
59
|
-
Streamlit dashboard implementation is app-owned
|
|
59
|
+
Streamlit dashboard implementation is app-owned repository code, not a Main Sequence scaffold skill.
|
|
60
60
|
|
|
61
61
|
## Read First
|
|
62
62
|
|
|
@@ -70,7 +70,7 @@ Streamlit dashboard implementation is app-owned project code, not a Main Sequenc
|
|
|
70
70
|
Before exploring, collect or infer:
|
|
71
71
|
|
|
72
72
|
- the business question being asked
|
|
73
|
-
- whether the user is exploring organization-wide data or
|
|
73
|
+
- whether the user is exploring organization-wide data or CodeRepositoryBranch-scoped data
|
|
74
74
|
- whether the target is a published table or a row-oriented table
|
|
75
75
|
- whether the user already knows an identifier, keyword, or object UID
|
|
76
76
|
- whether metadata discovery alone answers the question
|
|
@@ -155,9 +155,9 @@ field to filter by:
|
|
|
155
155
|
- `mainsequence time-index-table detail <TIME_INDEX_META_TABLE_UID>`
|
|
156
156
|
|
|
157
157
|
Collection listing is scoped to one Organization Environment. Inside a
|
|
158
|
-
registered
|
|
159
|
-
Git-resolved
|
|
160
|
-
unregistered branch, table operations fail when they require
|
|
158
|
+
registered CodeRepository checkout, the CLI derives that scope from the process-frozen
|
|
159
|
+
Git-resolved CodeRepositoryBranch. Do not pass an Environment UID or branch UID. On an
|
|
160
|
+
unregistered branch, table operations fail when they require CodeRepositoryBranch
|
|
161
161
|
context while unrelated local development remains available.
|
|
162
162
|
|
|
163
163
|
Column lookup is also a different path. Use it only for schema-name discovery,
|
|
@@ -32,7 +32,7 @@ platform-managed application tables outside the migration workflow.
|
|
|
32
32
|
- Which provider-scoped MetaTable models belong in `metatable_models`?
|
|
33
33
|
- Does a dynamic provider need `metadata_for_models(...)` instead of full
|
|
34
34
|
package metadata?
|
|
35
|
-
- Does the
|
|
35
|
+
- Does the CodeRepository need an `after_register_metatables` catalog hook, and does
|
|
36
36
|
that hook use `context.metatable_models` and `context.registered_metatables`
|
|
37
37
|
instead of importing a broader registry?
|
|
38
38
|
|
|
@@ -119,7 +119,7 @@ platform-managed, Alembic-managed reservations and are validated before HTTP.
|
|
|
119
119
|
and SDK provider APIs.
|
|
120
120
|
- Do not call platform-managed model `.register()` in normal application code.
|
|
121
121
|
Registration is reserved for the migration workflow.
|
|
122
|
-
- Resolve
|
|
122
|
+
- Resolve CodeRepository/Git context once per CLI operation and reuse it for the
|
|
123
123
|
registry reservation, provider reservations, and migration credential.
|
|
124
124
|
- Reject a returned registry unless it is a platform-managed,
|
|
125
125
|
Alembic-managed root in `reserved` or `active` state. Do not silently reuse a
|
|
@@ -134,7 +134,7 @@ platform-managed, Alembic-managed reservations and are validated before HTTP.
|
|
|
134
134
|
- If `current` fails before Alembic runs, inspect the provider import path and
|
|
135
135
|
Alembic version MetaTable binding. Confirm the registry reservation is
|
|
136
136
|
`platform_managed` + `alembic_managed`, has no parent registry UID, and
|
|
137
|
-
carries the same
|
|
137
|
+
carries the same CodeRepository/Git context as the migration operation.
|
|
138
138
|
- If `revision` autogenerate tries to create everything again, the local
|
|
139
139
|
migration connection cannot see the provider's current physical tables.
|
|
140
140
|
- If `upgrade` fails during prepare, inspect provider model identifiers,
|