Tasks and desired state
A task states what should become true. It does not prescribe a mutation or a sequence of steps.
task "deliver-cargo-42" {
desired {
@"cargo-42".properties.located_at =
@"workshop".properties.located_at
}
}
A task identity is a quoted string. Its desired section contains expressions.
Prefix an expression with drop to remove that desired predicate, or use
drop task "identity" to remove the whole task.
The parser preserves desired expressions and their source spans. Task declarations currently emit no create or desired-state changes. Top-level task removal does emit a delete change.
OSL does not yet type-check desired expressions, evaluate them, select mutations, or produce plans. The task above describes a target state only. Planning is a later stage built on the durable model foundation.