pub const LAYOUT_DIR_SERVICOS: &str = "servicos";Expand description
Canonical caixa-root-relative directory name housing every
crate::CaixaKind::Servico caixa’s
servicos/<nome>.computeunit.yaml per-CR ComputeUnit descriptor
(and every :servicos ("servicos/foo.computeunit.yaml" …)
per-entry source path the M0 :kind Servico typed slot admits).
Peer of LAYOUT_DIR_LIB / LAYOUT_DIR_EXE on the sibling M0
per-CaixaKind on-disk-directory-name axes; see LAYOUT_DIR_LIB
for the shared lift rationale.
crate::LayoutInvariants::verify joins root with this const
to reconstruct the sandbox-root the
crate::LayoutError::ServicoOutsideDir emission gates every
declared :servicos entry against — a :servicos entry whose
resolved path escapes root.join(LAYOUT_DIR_SERVICOS) surfaces
ServicoOutsideDir(<path>) at feira build time rather than
silently reaching outside the caixa’s sandbox at
caixa_helm / caixa_flux render time or at the
operator’s OCI-build step.
The servicos/ byte-shape is the Portuguese plural of the M0
:kind Servico discriminator (crate::CaixaKind::Servico /
LAYOUT_MISSING_ENTRY_KIND_SERVICO, both "servico", singular)
— the on-disk directory holds one-or-more ComputeUnit YAML
descriptors per caixa, the discriminator names the caixa’s kind.
The pin test
layout_dir_servicos_is_distinct_from_layout_missing_entry_kind_servico
makes the singular/plural split load-bearing so a future rebrand
touching either axis without the other (a per-consumer
disambiguation collapsing them, a hypothetical English-uniformity
pass renaming "servicos" → "services") trips at build time.