syntaxai/tdd.md · main · tools / sama-cli / sama.profile.toml
# SAMA v2 profile — tools/sama-cli sub-project.
#
# Declares the SAMA v2 layer mapping for the shell verifier itself
# (tools/sama-cli/src/). Mirrors the parent repo's profile shape so
# the verifier can self-conform: `sama check` pointed at
# tools/sama-cli/src/ returns 7/7 ✓ under these rules.
#
# Canonical layer order: a=Pure 0, b=Core 1, c=Adapter 2, d=Entry 3.
# The cli.md email proposal at the repo root inverted this mapping
# (a→Layer 3, c→Layer 0) — that is the bug this /goal explicitly
# corrects. The shell verifier obeys the same canonical scheme as the
# rest of the codebase.
sama_version = "2.0"
profile = "sama-cli"
# File extension scanned for SAMA conformance. The parent repo's
# profile implicitly uses ".ts"; this sub-project uses ".sh" so the
# verifier can run against its own POSIX-shell source tree.
extension = ".sh"
# Layer 0 — Pure. Constants only. No I/O, no side effects.
[layers.0]
prefixes = ["a31_"]
# Layer 1 — Core. Pure-function helpers and the seven §4 checks.
[layers.1]
prefixes = ["b32_"]
# Layer 2 — Adapter. Boundary calls to external tools (graphviz `dot`).
[layers.2]
prefixes = ["c14_"]
# Layer 3 — Entry. The dispatcher invoked by the `sama` wrapper.
[layers.3]
prefixes = ["d21_"]