Files
agentic-mobile-control/openspec/changes/archive/2026-07-14-uv-workspace-packaging/proposal.md
T
q792602257andClaude Opus 4.6 9669b52498 chore(openspec): archive uv-workspace-packaging
Change is complete (17/17 tasks) and its delta spec has been synced
into a new main spec openspec/specs/workspace-packaging/spec.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-14 21:24:59 +08:00

2.1 KiB

Why

The repository currently publishes the local device runtime, cloud modules, and integration adapters as one flat Python distribution with no lockfile. Introducing a uv workspace now gives the runtime and future cloud applications explicit package ownership, reproducible dependency resolution, and independently runnable entry points before distributed cloud behavior is added.

What Changes

  • Configure the repository as a uv workspace with the existing device-agent-runtime project retained as the root member.
  • Extract the existing cloud package into a dedicated workspace distribution without changing its public Python import paths or runtime behavior.
  • Establish workspace conventions that allow the cloud API and device host agent to be added as independently installable members by the subsequent cloud integration change.
  • Declare internal dependencies through uv workspace sources and generate a committed uv.lock for reproducible development and CI environments.
  • Preserve the existing Vue/Vite console as an npm-managed project outside the Python workspace.
  • Preserve existing Runtime, REST, MCP, and test behavior during the packaging migration.

Capabilities

New Capabilities

  • workspace-packaging: Defines the Python workspace membership, internal dependency direction, reproducible locking, and independently runnable project boundaries.

Modified Capabilities

None. This change restructures packaging and dependency ownership without changing existing capability requirements.

Impact

  • Affects the root pyproject.toml, Python package locations, build metadata, import/package discovery configuration, development commands, CI commands, and the generated uv.lock.
  • Existing local Runtime consumers continue to use the device-agent-runtime distribution and current import paths.
  • Cloud code becomes an outer workspace dependency of the Runtime; inner packages such as core, driver, device, and tools remain unaware of cloud or transport concerns.
  • No REST/MCP contract, task execution behavior, database schema, or frontend package-management behavior changes in this proposal.