Documentation
¶
Overview ¶
Package platform groups the infrastructure packages that do not know agents exist: process/CLI plumbing, configuration, the STELLA_HOME layout, blob storage, observability, the bundled xberg CLI, build version, diagnostics.
Admission rule, enforced by internal/boundary_test.go: internal/platform/** may import the standard library, third-party modules, github.com/CherryHQ/stella/pkg/**, and other internal/platform/** — nothing else inside the repo. Third-party modules are unconstrained; the rule is about the direction of intra-repo dependencies, not about vendoring.
The one carve-out is in _test.go files, which may also import internal/db/dbtest, the embedded-PostgreSQL test harness. A test harness creates no production edge and is unusable outside tests, so it cannot invert the layering; anything beyond it is a real dependency and disqualifies the package.
A package that needs more than that belongs to a domain and stays where it lives. internal/db is the worked example: it implements internal/auth's stores, so it depends on the auth domain and cannot sit under platform.
This directory holds no code of its own; each package is a subpackage keeping its original package name, so moving a package here changes import lines and nothing else.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package blob stores opaque bytes behind one interface, backed by S3-compatible object storage.
|
Package blob stores opaque bytes behind one interface, backed by S3-compatible object storage. |
|
blobtest
Package blobtest provides a filesystem-backed blob.Store for tests.
|
Package blobtest provides a filesystem-backed blob.Store for tests. |
|
Package cli is shared command plumbing for the stellad binary: dotenv loading and log-level parsing.
|
Package cli is shared command plumbing for the stellad binary: dotenv loading and log-level parsing. |
|
Package config currently holds two distinct concepts that share a package only for historical reasons (it is a leaf package everything can import without cycles).
|
Package config currently holds two distinct concepts that share a package only for historical reasons (it is a leaf package everything can import without cycles). |
|
Package diagnostic renders potentially sensitive values for operator output.
|
Package diagnostic renders potentially sensitive values for operator output. |
|
Package home owns the single-replica POSIX workspace layout beneath STELLA_HOME.
|
Package home owns the single-replica POSIX workspace layout beneath STELLA_HOME. |
|
Package observability owns the process-global OpenTelemetry providers (tracer and logger).
|
Package observability owns the process-global OpenTelemetry providers (tracer and logger). |
|
metrichook
Package metrichook records bounded agent-loop metrics from the core hook payloads.
|
Package metrichook records bounded agent-loop metrics from the core hook payloads. |
|
Package version exposes the stella binary version.
|
Package version exposes the stella binary version. |
|
Package xberg owns how Stella invokes the bundled Xberg CLI.
|
Package xberg owns how Stella invokes the bundled Xberg CLI. |