34 lines
2.5 KiB
Markdown
34 lines
2.5 KiB
Markdown
## 1. Baseline And Workspace Metadata
|
|
|
|
- [x] 1.1 Record the current non-integration test result and verify the existing root distribution builds before moving packages.
|
|
- Baseline: `uv run pytest -m "not integration"` -> 314 passed, 6 deselected.
|
|
- Baseline: `uv build` -> root sdist and wheel built successfully.
|
|
- [x] 1.2 Add `[tool.uv.workspace]` membership to the root project while retaining `device-agent-runtime` as the root package.
|
|
- [x] 1.3 Create `packages/cloud-platform/pyproject.toml` for the `device-cloud-platform` distribution with explicit build and package-discovery metadata.
|
|
- [x] 1.4 Declare `device-agent-runtime` as a workspace source dependency of `device-cloud-platform` without adding any reverse dependency.
|
|
|
|
## 2. Cloud Package Extraction
|
|
|
|
- [x] 2.1 Move the existing `cloud` package under `packages/cloud-platform` while preserving every `cloud.*` import path.
|
|
- [x] 2.2 Remove `cloud*` from the root distribution's setuptools discovery and update path-sensitive composition tests or tooling.
|
|
- [x] 2.3 Add packaging tests that identify the owning distribution for Runtime and cloud modules and reject reverse cloud dependencies.
|
|
|
|
## 3. Locking And Developer Commands
|
|
|
|
- [x] 3.1 Generate and commit the shared `uv.lock` for all workspace members.
|
|
- [ ] 3.2 Verify clean `uv sync --locked` and lock consistency checks from the workspace root.
|
|
- [ ] 3.3 Verify member-scoped uv commands for both `device-agent-runtime` and `device-cloud-platform`.
|
|
- [ ] 3.4 Update README and relevant setup documentation with workspace synchronization, test, build, and package-selection commands while leaving console npm commands unchanged.
|
|
|
|
## 4. Build And Compatibility Verification
|
|
|
|
- [ ] 4.1 Build wheels for every workspace member and inspect them to confirm the expected packages are included once.
|
|
- [ ] 4.2 Install the built wheels into an isolated environment and smoke-test imports for existing Runtime and `cloud.*` modules.
|
|
- [ ] 4.3 Run the complete non-integration Python test suite from the workspace root and fix packaging-only regressions without changing behavior.
|
|
- [ ] 4.4 Verify the local REST and MCP factories still import and the console build remains independent of uv synchronization.
|
|
|
|
## 5. OpenSpec And Project Records
|
|
|
|
- [ ] 5.1 Run OpenSpec validation for `uv-workspace-packaging` and confirm all workspace-packaging scenarios are covered by automated checks.
|
|
- [ ] 5.2 Update the project index and runtime/package documentation to record the new workspace layout and canonical commands.
|