Declaration and Representation

Lat, LIR, and L-UI

The language lane turns bounded declarations into validated metadata and deterministic reports. It does not execute declarations or grant authority.

Pipeline Boundary

Parse, validate, lower, report.

The current Lat pipeline composes grammar parsing, semantic validation, Lat-to-LIR lowering, and pipeline reporting while preserving no-effect flags and source-span metadata.

01

Lat source

Caller-provided in-memory source bytes, not file I/O.

02

Parser

Grammar checks, stable errors, bounded summaries, and source spans.

03

Semantic validation

Deterministic validation before lowering metadata.

04

LIR lowering

Bounded module, node, edge, and metadata shape.

05

Report

Status labels, counts, no-effect flags, and source-span metadata.

Layer Roles

Three names, three boundaries.

Lat, LIR, and L-UI are related, but they are not interchangeable. Each layer carries a narrow current responsibility.

Lat

System declarations

Lat records contract-like source intent for modules, states, policies, transitions, assertions, and effect declarations.

LIR

Intermediate metadata

LIR carries graph-shaped representation metadata. It is not an execution engine or runtime authority surface.

L-UI

Operator-visible declarations

L-UI parses preview-card declarations and report surfaces before any interactive terminal-control behavior exists.

No-Effect Contract

The pipeline keeps authority denied.

A successful language check should still report that execution, mutation, server, recovery, and hardware authority are unavailable.

Required posture

no_effect=1, execution_allowed=0, mutation_allowed=0

Host boundary

server_allowed=0, recovery_allowed=0, hardware_allowed=0

Failure behavior

Stable labels such as parse_not_ok, semantic_not_valid, lowering_not_ok, and no_effect_violation.

Reports

What a reader can inspect today.

The report surfaces are intentionally small and deterministic so they can be used as evidence records, not as runtime promises.

Lat pipeline report

Summarizes status, error labels, module name, source length, declaration counts, LIR counts, no-effect flags, and spans.

LIR report

Represents source kind, module/card names, node and edge counts, bindings, text records, and authority flags.

L-UI parser report

Reports the accepted preview card, rails, fields, effect=none, boundary=preview_only, and span fields.

Diagnostics

Keep line, column, and span metadata available for rejected input without widening behavior.

Local Checks

Run the language lane without granting authority.

These commands are no-effect validation paths from the repository root.

Lat pipeline

sh scripts/test-lat-pipeline.sh
sh scripts/test-lat-specific-lir-refinement.sh

L-UI parser

sh scripts/test-l-ui-parser.sh
sh scripts/test-l-ui-parser-source-span.sh

L-UI rendering report

sh scripts/test-l-ui-rendering.sh
sh scripts/test-l-ui-rendering-detailed-report-refinement.sh

Source Records

Follow the exact contracts.

Use these records when you need the authoritative boundary instead of this overview.