Skip to content

core.noop

← Module catalog

soul-sidesoulstack.execexec

An empty step: does nothing, always succeeds without changing state.

core.noop is a verb module with a single state, run: it runs nothing, writes nothing, and always returns changed=false. It exists as a syntactic anchor — a barrier across the dependency graph, or a placeholder that carries an output: projection of other tasks' register.* values. There is no params schema: any keys are accepted and ignored.

Requirements

  • Rootnot required
  • Sidesoul-side
  • Collectionsoulstack.exec
  • Categoryexec

States

core.noop.run — No-op: does nothing, succeeds without changing state.

Changes when

Never — by definition a noop does not mutate state.

Stays unchanged when

Always — the step is a no-op by construction.

Parameters

No parameters.

Example — Barrier via register dependencies

- name: Collect diagnose result
module: core.noop.run
when: input.action == 'diagnose'
params: {}
output:
ping: "${ register.ping.stdout }"
replication_state: "${ register.repl.stdout }"
used_memory: "${ register.mem.stdout }"

Example — Placeholder anchor that waits for a set of tasks

- name: barrier
module: core.noop.run
require:
- Install package
- Render config

Output

FieldTypeDescription
changedfalse

Notes

  • changed=false is structural and not configurable — a no-op never reports drift; idempotency is inherent to an empty operation.
  • Barrier anchor: a task that reads register.* from several earlier tasks gives a point where the framework waits for them to finish. The barrier comes from the dependency graph (require: / register references), not from the module itself.
  • Placeholder: an empty step in a destiny/scenario skeleton, or a carrier for an output: projection that reads earlier tasks' register.*.
  • Errand-safe (ADR-033): implements ErrandReadSafe, safe for ad-hoc invocation over the Errand pull path; required_capabilities is empty.

See also