Skip to main content

Module validate

Module validate 

Source
Expand description

Invariant checks for a loaded Compose tree.

Errors are collected rather than returned on first failure so the CLI can pretty-print the full list.

Enums§

ValidationError

Constants§

DISPLAY_NAME_MAX_CHARS
T-160: max length for display_name. 64 is a sensible upper bound matching ratatui column widths in the TUI roster pane; longer names would force unsightly truncation downstream. Counted in Unicode scalar values (chars().count()), not grapheme clusters — most operator-typed labels are simple text where the two coincide, and the saved dependency on unicode-segmentation is not worth the fidelity gain for an at-most-64-cell rendering window.

Functions§

is_valid_id
T-310: charset rule for project.id and agent ids — both flow, unquoted, into shell-bound strings ({project}:{agent} in supervisor::build_up_command) and into tmux session names. A conservative ASCII allowlist keeps every downstream consumer safe at the boundary instead of forcing each call site to quote defensively. : is intentionally NOT allowed — it’s reserved as the canonical <project>:<agent> join separator everywhere in teamctl, and admitting it into an id would make id() parse ambiguous.
validate