pub const LAYOUT_DIR_LIB: &str = "lib";Expand description
Canonical caixa-root-relative directory name housing every
crate::CaixaKind::Biblioteca caixa’s lib/<nome>.lisp entry
(and every :bibliotecas ("lib/foo.lisp" …) per-entry source
path the M0 :kind Biblioteca typed slot admits). The single
source of truth every consumer that composes a caixa-root-relative
path pointing at the tatara-lisp library sub-tree reaches for:
crate::LayoutInvariants::verifyjoinsrootwith this const to reconstruct the defaultlib/<nome>.lispper-caixa entry thecrate::LayoutError::MissingLibemission gates on;feira init’s new-caixa scaffolder joinsrootwith this const to seed the emptylib/sub-tree the template’slib/<nome>.lispstarter file lives in;feira fmt/feira lintenumerate every.lispunderroot.join(LAYOUT_DIR_LIB)as their default target set (their--paths-less invocation walks the library sub-tree the substrate’scrate::LayoutInvariants::verifypins);feira tofureads every.lispunderroot.join(LAYOUT_DIR_LIB)to concatenate the(defteia …)forms the caixa-arch invariants bind on.
The lib/ byte-shape is a Cargo-style abbreviation of the M0
:kind Biblioteca discriminator (crate::CaixaKind::Biblioteca
/ LAYOUT_MISSING_ENTRY_KIND_BIBLIOTECA, both "biblioteca"),
deliberately distinct from the discriminator’s byte-shape so the
on-disk convention stays terse while the diagnostic label stays
full-form Portuguese. Peer of LAYOUT_DIR_EXE /
LAYOUT_DIR_SERVICOS on the sibling M0 per-CaixaKind
on-disk-directory-name axes — the three consts jointly single-source
the CSE-invariant layout convention every caixa the substrate accepts
carries. A future rebrand of the on-disk directory landing convention
("lib" → "src" matching Rust’s convention, "lib" → "biblioteca"
matching the full-form Portuguese-uniformity a per-kind consumer
disambiguation would prefer) lands as a one-line const-edit + the
paired drift-detection pin that guards the two-axis distinctness
(layout_dir_bib_is_distinct_from_layout_missing_entry_kind_bib)
rather than a coordinated ~40-site sweep across production +
tests + CI scaffolders.
Same “one canonical byte-string per typed axis + a paired
drift-detection pin at every load-bearing byte-shape coincidence”
discipline the M0 LAYOUT_MISSING_ENTRY_KIND_BIBLIOTECA /
LAYOUT_MISSING_ENTRY_KIND_EXE / LAYOUT_MISSING_ENTRY_KIND_SERVICO
(fe2a898) leaf-kind categorization triad established on the peer
crate::LayoutError::MissingEntry kind: discriminator axis.