Files
agentic-mobile-control/openspec/changes/uv-workspace-packaging/tasks.md
T

2.5 KiB

1. Baseline And Workspace Metadata

  • 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.
  • 1.2 Add [tool.uv.workspace] membership to the root project while retaining device-agent-runtime as the root package.
  • 1.3 Create packages/cloud-platform/pyproject.toml for the device-cloud-platform distribution with explicit build and package-discovery metadata.
  • 1.4 Declare device-agent-runtime as a workspace source dependency of device-cloud-platform without adding any reverse dependency.

2. Cloud Package Extraction

  • 2.1 Move the existing cloud package under packages/cloud-platform while preserving every cloud.* import path.
  • 2.2 Remove cloud* from the root distribution's setuptools discovery and update path-sensitive composition tests or tooling.
  • 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

  • 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.