Language Reference

ICC DSL Reference

Operators, commands, references, statuses, comments, examples, and notes for the current public ICC DSL release.

v1.01 43 supported 3 planned

A-Z Index

Alphabetical Index

Every supported and planned ICC item sorted by display name. Each entry has a stable anchor.

%files.cN All artifacts reference supported @use artifact Artifact input supported @file Auto artifact supported @file .ext Auto-named artifact type supported auto Automatic routing supported .best Best-of routing supported cN Cell alias supported status Cell statuses supported loop Chain loop supported >, >=, <, <=, ==, != Condition operators supported @if Conditional branch supported < cost Cost limit supported @else Else branch supported %error.cN Error reference supported \> Escaped service line supported @chain Execution chain supported : Explicit model supported file: File branch target planned @forward! Forward and run supported @forward Forward output supported header boundary Header boundary supported %header.cN Header reference supported %input Input reference supported < iterations Iteration limit supported providers Known providers supported < latency Latency limit supported {{...}} Legacy reference migration supported %% Literal percent supported %meta.cN.key Metadata reference supported .profile Model profile supported @file name.ext Named artifact supported %file.cN:name.ext Named artifact reference supported %output.cN Output reference supported + Parallel providers supported %var.cN.name Parsed variable reference supported %file.cN Primary artifact reference supported %prompt.cN Prompt reference supported provider errors Provider API error taxonomy planned > Routing line supported routing modes Routing modes supported condition_uncertain Semantic condition evaluator fallback planned > openai Single provider supported .synthesis Synthesis routing supported @text <N Text preview limit supported < tokens Token limit supported @text Visible text output supported

Wiki

Grouped Reference

Groups mirror the language architecture: routing, constraints, flow, outputs, references, syntax, providers, and runtime states.

8 entries

Routing

Provider, model, profile, and orchestration selection with leading `>` lines.

>

Routing line

supported

Selects provider, model, model profile, or orchestration mode for an intent cell.

Syntax

> <provider>> <provider>:<model>> <provider>.<profile>> auto

Examples

Default provider
> openai
Explicit model
> claude:claude-sonnet-4-6
Workspace profile
> claude.max

Notes

  • Only the leading service block is parsed as control header.
  • A later `>` line in prompt body is normal text.
Since v1.01 Coverage: parseRouting
> openai

Single provider

supported

Runs one provider alias with the workspace default profile unless a model or profile is specified.

Syntax

> <provider-alias>> openai> claude

Examples

OpenAI default
> openai
Claude default
> claude

Notes

  • Built-in provider ids: openai, claude, gemini, xai, mistral, deepseek, local.
  • Provider aliases are resolved case-insensitively and may be renamed in workspace settings.
Since v1.01 Coverage: parseProvider
:

Explicit model

supported

Pins a provider call to a concrete model id instead of using a workspace profile.

Syntax

> <provider>:<model>

Examples

OpenAI model
> openai:gpt-5.5
Gemini model
> gemini:gemini-2.5-pro

Notes

  • Model availability is controlled by the provider adapter and workspace settings.
Since v1.01 Coverage: parseProvider
.profile

Model profile

supported

Selects a named provider profile from workspace settings.

Syntax

> <provider>.max> <provider>.cheap> <provider>.fast> <provider>.code> <provider>.reasoning

Examples

Max profile
> claude.max
Code profile
> openai.code

Notes

  • Supported profiles: default, max, cheap, fast, code, reasoning, flash.
Since v1.01 Coverage: parseProvider
+

Parallel providers

supported

Runs multiple provider candidates and keeps their runs in execution history.

Syntax

> (<provider> + <provider>)> <provider>, <provider>

Examples

Two providers
> (openai + claude)

Notes

  • Production adapters should run candidates concurrently; the DSL declares the topology.
Since v1.01 Coverage: parseRouting
.best

Best-of routing

supported

Runs provider candidates and marks the route as selector-based best response mode.

Syntax

> (<provider> + <provider>).best

Examples

OpenAI plus Claude
> (openai + claude).best

Notes

  • Selector scoring is runtime behavior; ICC only declares the orchestration mode.
Since v1.01 Coverage: parseRouting
.synthesis

Synthesis routing

supported

Runs provider candidates and requests a synthesized answer.

Syntax

> (<provider> + <provider>).synthesis

Examples

Default profiles
> (openai + claude).synthesis
Max profiles
> (xai.max + claude.max).synthesis

Notes

  • The synthesis model is configured by the runtime/workspace settings.
Since v1.01 Coverage: parseRouting
auto

Automatic routing

supported

Lets workspace settings choose the concrete provider/model route.

Syntax

> auto> fast> cheap> best

Examples

Auto
> auto
Fast route
> fast

Notes

  • Top-level orchestration aliases are portable hints; the runtime resolves them.
Since v1.01 Coverage: parseRouting

4 entries

Constraints

Hard execution limits declared with leading `<` lines.

< cost

Cost limit

supported

Sets a maximum dollar cost for the cell or flow.

Syntax

< cost <= $N< $N

Examples

Full form
< cost <= $3.33
Short form
< $3.33

Notes

  • Cost limits are execution constraints, not business logic for `@if`.
Since v1.01 Coverage: parseConstraint
< latency

Latency limit

supported

Sets a maximum wall-clock runtime.

Syntax

< latency <= 3m< 3m< 500ms< 2h

Examples

Minutes
< latency <= 3m
Short form
< 30s

Notes

  • Supported units: ms, s, m, h.
Since v1.01 Coverage: parseConstraint
< tokens

Token limit

supported

Sets a maximum total token count.

Syntax

< tokens <= N

Examples

Token cap
< tokens <= 50000

Notes

  • Used by validation, planning chips, and runtime budget checks.
Since v1.01 Coverage: parseConstraint
< iterations

Iteration limit

supported

Caps loop iterations when a chain repeats a cell alias.

Syntax

< iterations <= N

Examples

Loop cap
< iterations <= 3

Notes

  • Workspace settings provide default and maximum loop limits.
Since v1.01 Coverage: parseConstraint

7 entries

Flow

Forwarding, chains, loops, and deterministic branching with `@` commands.

>, >=, <, <=, ==, !=

Condition operators

supported

Comparison operators available inside `@if` conditions.

Syntax

>>=<<===!=

Examples

Numeric comparison
@if pnl > 0 -> c3
Equality comparison
@if verdict == accept -> c3

Notes

  • Conditions are evaluated against parsed output variables, not against free-form prose.
Since v1.01 Coverage: parseFlow and evaluateDecision
@forward

Forward output

supported

Passes current output to a target cell without autorun.

Syntax

@forward cN

Examples

Forward to c2
@forward c2

Notes

  • The target alias must exist by validation time.
Since v1.01 Coverage: parseFlow
@forward!

Forward and run

supported

Passes output to a target cell and runs that cell automatically.

Syntax

@forward! cN

Examples

Autorun c2
@forward! c2

Notes

  • Autorun is a runtime action after the source run completes.
Since v1.01 Coverage: parseFlow
@chain

Execution chain

supported

Declares ordered cell execution.

Syntax

@chain c1 > c2 > c3

Examples

Linear chain
@chain c1 > c2 > c3

Notes

  • A chain requires at least two cell aliases.
Since v1.01 Coverage: parseFlow
loop

Chain loop

supported

A repeated alias in `@chain` is interpreted as a loop.

Syntax

@chain c1 > c3 > c5 > c1< iterations <= 3

Examples

Loop
@chain c1 > c3 > c5 > c1
< iterations <= 3

Notes

  • If no iteration cap is provided, workspace default iterations are applied with a warning.
Since v1.01 Coverage: parseFlow and loop validation
@if

Conditional branch

supported

Routes workflow based on a parsed output variable.

Syntax

@if <variable> <operator> <value> -> <target>@if <variable> -> <target>

Examples

Numeric branch
@if pnl > 0 -> c3
Boolean-like branch
@if accepted -> c4

Notes

  • Supported operators: >, >=, <, <=, ==, !=.
  • Supported targets: `cN`, `stop`, `done`.
Since v1.01 Coverage: parseFlow and evaluateDecision
@else

Else branch

supported

Declares fallback target for the preceding `@if`.

Syntax

@else -> cN@else -> stop@else -> done

Examples

Fallback
@else -> c4

Notes

  • `@else` is parsed as a companion line for `@if`, not as a standalone flow.
Since v1.01 Coverage: parseElseLine

6 entries

Outputs And Artifacts

Visible text, generated files, and artifact inputs.

@file

Auto artifact

supported

Requests a generated artifact with automatic name and type.

Syntax

@file

Examples

Auto
@file

Notes

  • The runtime derives a safe filename from the cell title and content.
Since v1.01 Coverage: parseFileDirective
@file .ext

Auto-named artifact type

supported

Requests an auto-named artifact with a fixed extension.

Syntax

@file .md@file .py@file .json

Examples

Markdown artifact
@file .md

Notes

  • Supported extensions: .md, .txt, .json, .yaml, .yml, .csv, .py, .js, .ts, .html, .diff.
Since v1.01 Coverage: parseFileDirective
@file name.ext

Named artifact

supported

Requests a generated artifact with an explicit filename.

Syntax

@file <name>.<ext>

Examples

Python file
@file strategy_code.py
Markdown report
@file closeout_note.md

Notes

  • Filenames with spaces are accepted with a warning; snake_case or kebab-case is preferred.
Since v1.01 Coverage: parseFileDirective
@text

Visible text output

supported

Shows full generated text output in the cell result.

Syntax

@text

Examples

Full text
@text

Notes

  • Without `@text`, artifact-first cells may create files and show a short summary.
Since v1.01 Coverage: parseTextDirective
@text <N

Text preview limit

supported

Limits visible text output to the first N characters.

Syntax

@text <300

Examples

Preview
@text <300

Notes

  • The raw run output remains stored in run history.
Since v1.01 Coverage: parseTextDirective
@use artifact

Artifact input

supported

Attaches a generated artifact from another cell as input.

Syntax

@use artifact cN/<filename>

Examples

Attach markdown
@use artifact c4/closeout_note.md

Notes

  • The source cell and artifact must exist or validation emits a reference error.
Since v1.01 Coverage: parseUseDirective

11 entries

References

ICC data references with `%` tokens.

%input

Input reference

supported

References input passed by `@forward`, `@forward!`, `@chain`, or loop execution.

Syntax

%input

Examples

Prompt body
Critically evaluate:

%input

Notes

  • `@input` is deprecated in ICC v1.01 and migrates to `%input`.
  • Reference families: input, output, var, file, files, prompt, header, meta, error.
Since v1.01 Coverage: parseReferences
%output.cN

Output reference

supported

References generated output from another intent cell.

Syntax

%output.cN

Examples

Use c1 result
Use %output.c1 as input.

Notes

  • The source cell must exist; unresolved references produce `reference_error`.
Since v1.01 Coverage: parseReferences
%prompt.cN

Prompt reference

supported

References prompt body text from another cell.

Syntax

%prompt.cN

Examples

Reuse prompt
Audit this prompt:
%prompt.c1

Notes

  • Useful for meta-evaluation, critique, and prompt revision workflows.
Since v1.01 Coverage: parseReferences
%header.cN

Header reference

supported

References the parsed control header text from another cell.

Syntax

%header.cN

Examples

Inspect header
Explain the constraints in %header.c1

Notes

  • Header references are textual; they do not merge execution settings automatically.
Since v1.01 Coverage: parseReferences
%meta.cN.key

Metadata reference

supported

References run metadata such as cost, latency, model, or status.

Syntax

%meta.cN.cost%meta.cN.latency%meta.cN.model%meta.cN.status

Examples

Cost metadata
Previous cost: %meta.c2.cost

Notes

  • Available metadata depends on runtime/provider adapter support.
Since v1.01 Coverage: parseReferences
%error.cN

Error reference

supported

References the latest error or diagnostic from another cell.

Syntax

%error.cN

Examples

Debug upstream
Debug this failure:
%error.c2

Notes

  • If the cell has no error, runtime may resolve an empty value or explanatory placeholder.
Since v1.01 Coverage: parseReferences
%var.cN.name

Parsed variable reference

supported

Inserts a parsed variable extracted from another cell output.

Syntax

%var.cN.<name>

Examples

PNL variable
%var.c2.pnl

Notes

  • Variable resolution can produce `reference_error` when the variable is missing.
Since v1.01 Coverage: parseReferences
%file.cN

Primary artifact reference

supported

References the primary generated artifact from another cell.

Syntax

%file.cN

Examples

Primary artifact
Review %file.c3

Notes

  • Primary artifact selection is runtime-defined when a cell has several files.
Since v1.01 Coverage: parseReferences
%file.cN:name.ext

Named artifact reference

supported

References a specific generated artifact filename from another cell.

Syntax

%file.cN:<filename>

Examples

Generated code
%file.c3:strategy_code.py

Notes

  • The source artifact must exist or validation emits a reference error.
Since v1.01 Coverage: parseReferences
%files.cN

All artifacts reference

supported

References the generated artifact set from another cell.

Syntax

%files.cN

Examples

All generated files
Summarize %files.c3

Notes

  • Runtime may serialize this as a file list, bundle, or readable manifest.
Since v1.01 Coverage: parseReferences
%%

Literal percent

supported

Escapes a percent reference when the author wants literal text.

Syntax

%%

Examples

Literal reference
Write %%output.c1 literally.

Notes

  • Use this when explaining ICC syntax inside a prompt.
Since v1.01 Coverage: parseReferences

4 entries

Syntax Rules

Header boundaries, escaping, aliases, and migration rules.

header boundary

Header boundary

supported

Only consecutive leading service lines are parsed as control header.

Syntax

leading `>`, `<`, `@` linesfirst blank or ordinary text line starts prompt body

Examples

Prompt service text
> openai

@text <300
This is prompt text, not a header directive.

Notes

  • This prevents normal prose or code from becoming DSL accidentally.
Since v1.01 Coverage: splitUnifiedCellSource
\>

Escaped service line

supported

Escapes a leading service character inside the control header.

Syntax

\> text\< text\@ text

Examples

Escaped lines
\> not routing
\< not constraint
\@ not directive

Notes

  • Escaped service lines are ignored by the DSL parser.
Since v1.01 Coverage: parseCellDsl line skip
cN

Cell alias

supported

Stable intent-cell alias used by flow commands and references.

Syntax

c1c2c12

Examples

Forward target
@forward c2

Notes

  • Text blocks do not receive `cN` aliases and do not participate in execution.
Since v1.01 Coverage: validateFlowTargets
{{...}}

Legacy reference migration

supported

Detects deprecated double-brace references and maps them to ICC v1.01 `%` references.

Syntax

{{cN.output}} -> %output.cN{{cN.vars.name}} -> %var.cN.name{{cN.artifact.file}} -> %file.cN:file

Examples

Output migration
{{c2.output}} -> %output.c2

Notes

  • New notebooks, docs, autocomplete, and exports should use `%` syntax only.
Since v1.01 Related: output-reference, var-reference, named-file-reference

2 entries

Providers And Profiles

Provider ids, model profiles, and parser routing modes.

providers

Known providers

supported

Provider ids recognized by the parser plus workspace aliases configured in settings.

Syntax

openaiclaudegeminixaimistraldeepseeklocal

Examples

Provider list
openai
claude
gemini
xai
mistral
deepseek
local

Notes

  • Unknown provider aliases produce validation errors.
  • Built-in ids remain the portable fallback.
Since v1.01 Coverage: KNOWN_PROVIDERS
routing modes

Routing modes

supported

Routing modes emitted by the parser.

Syntax

singleparallelbestsynthesisautofastcheap

Examples

Modes
single
parallel
best
synthesis
auto
fast
cheap

Notes

  • Modes are stored in parsed DSL and inspector metadata.
Since v1.01 Coverage: RoutingPlan.mode

1 entries

Statuses And Errors

Notebook status values and run-blocking diagnostics.

status

Cell statuses

supported

Cell status values understood by the current notebook/runtime.

Syntax

not_runrunningcompletedfailedskippedstaleparse_errorreference_errordecision_errorconfig_errorartifact_errorcancelled

Examples

Statuses
not_run
running
completed
failed
skipped
stale
parse_error
reference_error
decision_error
config_error
artifact_error
cancelled

Notes

  • Status values are runtime state, not prompt text.
Since v1.01 Coverage: CellStatus

3 entries

Planned From Initial Spec

Documented concepts that are not interpreted by ICC v1.01 yet.

condition_uncertain

Semantic condition evaluator fallback

planned

Initial-spec evaluator fallback for ambiguous `@if` conditions.

Syntax

condition_uncertain

Examples

Initial spec status
condition_uncertain

Notes

  • ICC v1.01 evaluates parsed variables deterministically and returns `decision_error` when it cannot decide.
Since planned Related: if-branch
file:

File branch target

planned

Initial-spec branch target form for direct file routing.

Syntax

@if accepted -> file:report.md

Examples

Initial spec idea
@if accepted -> file:report.md

Notes

  • The supported v1.01 pattern is a normal target cell that declares `@file`.
Since planned Related: if-branch, file-output-named
provider errors

Provider API error taxonomy

planned

Initial-spec provider adapter error codes.

Syntax

rate_limitquota_exceededtimeoutauth_errorserver_errorinvalid_requestcontext_too_largemodel_unavailable

Examples

Initial spec errors
rate_limit
auth_error
context_too_large

Notes

  • Real provider adapter errors belong in backend/provider integration.
Since planned