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>
2.1 KiB
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-runtimeproject retained as the root member. - Extract the existing
cloudpackage 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.lockfor 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 generateduv.lock. - Existing local Runtime consumers continue to use the
device-agent-runtimedistribution and current import paths. - Cloud code becomes an outer workspace dependency of the Runtime; inner packages such as
core,driver,device, andtoolsremain unaware of cloud or transport concerns. - No REST/MCP contract, task execution behavior, database schema, or frontend package-management behavior changes in this proposal.