Skip to content

Diagnostics

Diagnostics describe errors and warnings from initialization, validation, builds, evaluation, and materialization. This reference defines their fields and terminal format. Troubleshooting organizes recovery procedures by symptom.

Each diagnostic has a severity, stable code, and message. It may also carry a source reference, a JSON Pointer, a one-based source location, a resource reference chain, an expected contract, a recovery action, and a normalized cause:

error [invalid-resolved-input]: binding input is invalid
at: atlante.jsonc:12:7 /agents/reviewer/mission
expected: a string accepted by the selected template
next: update the field or select a compatible template

The terminal formatter emits these lines in order, omitting optional fields when they are unavailable:

  1. Severity, stable code, and failure statement on one line.
  2. at: source, location, and JSON Pointer.
  3. expected: required contract.
  4. next: recovery action.
  5. cause: normalized low-level cause.

CLI diagnostics are written to stderr. Color can be disabled with NO_COLOR=1; see CLI output.

Diagnostic sources may be project-relative paths, package-qualified resource identities, or absolute filesystem paths. Materialization diagnostics can include absolute paths in both source and the message. See CLI path behavior for paths in success messages.

FieldMeaning
severityerror or warning
codeStable machine-readable diagnostic code
messageHuman-readable failure statement
sourceSource identity or filesystem path, which may be absolute
pathPrimary JSON Pointer into document data, when applicable
pointerExplicit JSON Pointer alias used by source and resource diagnostics
locationOne-based { line, column }, when available
chainPreset, instance, or template traversal that caused a resource failure
expectedExpected contract or runtime condition
nextDeterministic recovery action
causeNormalized low-level cause

Only severity, code, and message are required. The resource traversal chain is structured metadata; the terminal formatter does not print it as a separate line. When both path and pointer are present, the formatter uses path.

This table lists common codes and is not exhaustive. Validation, resource, watch, and publication failures can produce additional stable codes.

CodeMeaning
config-not-foundNeither supported configuration filename was found
ambiguous-configBoth atlante.jsonc and atlante.json were found
missing-targetA selected preset, template, or instance target is missing
package-not-declaredA package locator lacks an admitted declaration: project references use dependencies, optionalDependencies, or devDependencies; pack-to-pack references use runtime dependencies
package-not-installedA declared package cannot be found in the installation
invalid-jsonA configuration or scenario document is malformed JSON or JSONC
markdown-parse-failedThe Markdown source could not be parsed
invalid-frontmatterMarkdown frontmatter is malformed YAML or not a YAML mapping
invalid-frontmatter-valueA mapped frontmatter value is not a string
unknown-frontmatter-keyFrontmatter contains a key without an explicit importer mapping
missing-metadataRequired agent or skill frontmatter is absent or empty
unsupported-markdownMarkdown uses HTML, footnotes, or an unsupported node
unresolved-referenceA Markdown link or image reference has no definition
invalid-import-nameThe generated ID is empty or longer than 64 characters
import-target-existsThe import output directory exists but is not an Atlante local pack
import-binding-existsThe generated ID already exists in the target pack as a resource or binding; pass --name
import-validation-failedThe first-party input schema could not be loaded
input-not-foundThe Markdown input file does not exist
input-unreadableThe Markdown input file could not be read
import-write-failedThe generated local pack could not be published
invalid-prompt-inputImported AST or metadata fails a loaded template input schema
malformed-jsoncA selected resource or local-pack preset JSONC file is malformed
invalid-resolved-inputResolved document or template-owned input is invalid
conflicting-selectorsA source uses $template and $instance together
build-failedThe CLI caught an unexpected exception from the build operation; ordinary failures retain their specific code
unsupported-hostThe document declares a host with no registered materializer
materialization-*A host materialization failure; see Materialization for the code list
eval-pack-host-incompatibleAn included pack suite declares a host that differs from the project eval.host
watch-build-failedThe watch wrapper’s build function threw unexpectedly; ordinary failed rebuilds retain their underlying code
watch-inputs-failedWatch mode caught an exception while resolving or reconciling watched inputs

Validation and build warnings appear before a success line. Errors produce exit status 1 for one-shot validation and build commands, without a success line. Watch-mode errors keep the process active and are retried after changes. Evaluation uses separate exit statuses for failed trials, validation failures, and infrastructure failures.

When an issue belongs to document data, at: may include an RFC 6901 JSON Pointer such as /agents/reviewer/mission. Use the pointer to locate the invalid field. A location, when present, uses one-based line and column numbers.

For resource failures, the structured diagnostic can include the selected source and a resource-traversal chain. Each chain entry identifies a preset, instance, or template by its kind, locator, and source.

  • CLI documents the commands that emit diagnostics.
  • Materialization lists output-specific failure codes.
  • Troubleshooting organizes recovery paths by symptom.
  • Eval documents scenario validation and exit statuses.