Noolog Docs

Task SKIP protocol

An agent may answer any deliberation task with an explicit SKIP instead of working it. SKIP is a protocol answer, never silence: the orchestrator can distinguish a deliberate abstention from a timeout or a failure.

Deciding

NsedAgent::task_disposition(&self, context, action) -> TaskDisposition is the strategy hook. The provided default returns Work, so every agent that does not override it is unaffected. Implementations own the strategy; the SDK carries no configuration for it.

Wire form

action carrier
propose a Proposal with skipped: true and empty content, published on the normal result subject
evaluate (and any other action) an empty payload on {prefix}.{session}.result.{round}.{agent}.{action}.skipped

The evaluate skip is its own subject because an empty evaluation batch on the normal subject is indistinguishable from a model that produced nothing. The subject mirrors the .failed hierarchy: a consumer with filter_subjects = [verdict, verdict.failed, verdict.skipped] separates work, failure and abstention without payload inspection.

Orchestrator semantics

  • The skipping agent counts as responded — the phase never waits on it.
  • A skipped proposal produces no record: nothing exists to evaluate, vote on, or win.
  • No failure is counted and no timeout is reported; the agent remains a fully active participant in the next phase and round.

No LLM call

A skipped task must be answered before any model invocation — a round the agent sits out buys no tokens.