Resolution and composition
Atlante treats configuration loading as a deterministic pipeline. Each stage must succeed before the next stage can publish output.
The pipeline
Section titled “The pipeline”- Raw structural validation parses JSON or JSONC and checks document shape,
the schema URI, container types,
extends, and selector shape. - Resource resolution loads selected presets, resources, instances, templates, package metadata, and transitive references.
- Resolved validation checks the canonical document, values, selectors, composition, effective-template compatibility, and template-owned input.
- Build renders validated input and atomically publishes the complete artifact tree.
atlante validate runs the first three stages without rendering. atlante build
runs all four stages.
Preset inheritance
Section titled “Preset inheritance”extends accepts one locator or an ordered list. Each layer resolves its own
inheritance first. Atlante then merges layers from left to right and applies the
local document last.
Merge behavior is deterministic:
- Objects merge recursively.
- Arrays replace the inherited array.
- Scalars replace the inherited scalar.
nullremoves an inherited field.- Local values always win over inherited values.
{ "extends": [ "@acme/base-pack", "@acme/review-pack/strict" ], "agents": { "reviewer": "./resources/reviewer" }}The second preset sees the resolved first preset. The local reviewer binding
wins over both inherited layers.
Failure behavior
Section titled “Failure behavior”Missing targets, invalid locators, malformed schemas, missing value references, unsupported fields, incompatible templates, and composition cycles fail before rendering. The builder prepares a complete private tree and publishes nothing partial when a required step fails.
Atlante loads only selected content and does not execute JavaScript, install packages, consult a registry, load URLs, or execute arbitrary project code.