Appearance
Dashboard: Packages
Status: target state. No registry UI today. Packages bundle with the wrapper. The Gitea-as-npm-registry is partially designed; the admin package view is unimplemented.
Target view
A package registry overview:
- Every package the platform knows about.
- Available versions per package.
- Dependency graph between packages.
- Per-package adoption: which Devices run which version.
- Publish workflow buttons (operator-only).
- Verification status (signature, integrity).
Drill-in to one package:
- Version history.
- Download/install counts.
- Dependent packages.
- Compatibility matrix (target).
- Source manifest.
What exists today
A package is whatever lives under <host-home>/.matrix/packages/<package-name>/. The wrapper bundles a known set on install (per Overview / Package deployments). There is no registry to list, no version picker, no install-from-registry op.
Where packages exist on the platform Host
bash
ls /var/lib/hivecast/host-home/.matrix/packages/
# system, host-control, system-gateway-http, matrix-web, matrix-edge,
# director, chat, inference-settings, flowpad, smithers, ...Each directory has a package.json with name, version, and a matrix.json describing actor / webapp metadata.
Per-Device adoption (workaround)
To find out which Devices run which version of a package today:
bash
# For each Device's <host-home>, inspect the package directory.
# Or read system.devices.devices.list and join with hivecast --version per Device.There is no central record. The wrapper version implies the package version set, but operators must track it externally.
What the target needs
- Gitea-backed npm registry. Designed in
ARCHITECTURE-PLATFORM-TOPOLOGY.md§8. Not implemented. - Registry-pull op.
host.control packages.pull '{"package":"foo","version":"1.2.3"}'. Not implemented. - Per-package adoption query. Roll up across
system.devices. Not implemented. - UI in
matrix-web.
Package authoring today
For now, package authors:
- Edit source under
projects/matrix-3/packages/<name>/. - Bump
package.jsonversion. - Build (per-package
node build.mjsor workspacepnpm build:affected). - Cut a wrapper release.
- Distribute the wrapper.
There is no published-to-registry step. The wrapper is the distribution mechanism.
Compatibility matrix
There is no compatibility matrix. Each wrapper release implicitly bundles a known-good set. Cross-wrapper-version compatibility is not tested or guaranteed.
A target compatibility matrix would record:
- Package A version X works with Package B versions Y..Z.
- Migration path between major versions.
Verification
Today: no signing. The wrapper itself is OS-package-manager-signed (apt).
Target: signed package manifests, signature verification at install time.
See also
- Deployments / Package versions — versioning model.
- Operations: Deploy package update — admin deploy flow.
- Reference: Admin actor ops — target ops.
Source:
WORKSTREAMS/docker-npm-parity/andARCHITECTURE-PLATFORM-TOPOLOGY.md§8.