docs(workspace): record packaging boundary

This commit is contained in:
2026-07-12 14:29:55 +08:00
parent 2e2ca9dc7d
commit c94b3efe87
3 changed files with 19 additions and 2 deletions
+12 -1
View File
@@ -40,12 +40,23 @@ LLM dependencies enter at `runtime` through Planner behavior. HTTP and MCP
dependencies enter at `api`. No LLM, HTTP, or MCP dependency may appear in
`core`, `driver`, `device`, or `tools`.
## Packaging Boundary
The repository is a uv workspace with `device-agent-runtime` as the root
member and outer platform packages as separate members. The cloud platform is
owned by `packages/cloud-platform` and may depend on the Runtime through an
explicit workspace source; the Runtime distribution must never depend on or
package `cloud`.
All Python members share the committed root `uv.lock`. The Vue/Vite `console/`
remains outside the Python workspace and keeps its independent npm lifecycle.
## Change Discipline
Future changes must keep the dependency direction:
`core` -> `driver`/`device` -> `tools` -> `perception` -> `storage` -> `runtime`
-> `api`.
-> `api` -> optional outer workspace applications.
When a change needs a new external integration, add it at the adapter layer
that owns that concern, not at the domain or device boundary.