Solution
Status: open/active
Definition
Section titled “Definition”A cluster of apps and packages that belong to one solution and are shared only within it — typically
a nested {apps/, packages/{ts,rust}} under solutions/<name>/. A sharing scope narrower than
repo-wide packages/ and wider than a single app. The tell: a solution carries multiple deployables
(CLI, desktop, web, workers) that share solution-local packages — the packages exist precisely
because several deployables need them. First occupant: solutions/augmented/.
Contrast
Section titled “Contrast”Not packages/<eco>/. A solution-local package is shared only inside its solution; a package
under packages/ spans 2+ apps or solutions. A package earns packages/ when a consumer outside
the origin solution imports it — see D-0001-project-structure, Placement and promotion.
Not apps/<name>/. An app is a single deployable, even when internally polyglot: nested packages
or crates consumed only by that one deployable keep it an app (apps/pumice/). Multiple sub-apps
sharing local packages is solution shape (apps/sdlc/ — desktop, CLI, experiences, products — wears
it today; an observation, not a placement ruling).
The directory is a sharing-scope signal, not a resolution barrier: each solution enrolls its
subtrees explicitly in the root registries (per-solution entries, not tier-wide wildcards), so
workspace:* and { workspace = true } resolve unchanged. The tier fixes sharing scope, not
internal shape — solutions are free to differ in layout.