Skip to main content

LAYOUT_DIR_LIB

Constant LAYOUT_DIR_LIB 

Source
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::verify joins root with this const to reconstruct the default lib/<nome>.lisp per-caixa entry the crate::LayoutError::MissingLib emission gates on;
  • feira init’s new-caixa scaffolder joins root with this const to seed the empty lib/ sub-tree the template’s lib/<nome>.lisp starter file lives in;
  • feira fmt / feira lint enumerate every .lisp under root.join(LAYOUT_DIR_LIB) as their default target set (their --paths-less invocation walks the library sub-tree the substrate’s crate::LayoutInvariants::verify pins);
  • feira tofu reads every .lisp under root.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.