Module: Insika::Workflow

Defined in:
lib/insika/workflow.rb

Overview

Workflow surface (item 22 / COMPETITIVE-ANALYSIS §4.4). A workflow is a Ruby callable orchestrating RubyLLM Agents/Workflows FROM WITHIN (RubyLLM First); its durable RUN is a Task (checkpointed, recoverable — stronger than Flue's at-most-once run record). This module adds the EXPOSED surface the consumer asked for, matching the honest Flue scope (not Temporal):

· runId          — the run id (== task id; the Task IS the run record).
· event stream   — :workflow_started / :workflow_completed on the task stream.
· I/O by schema  — optional input_schema / output_schema validated at the edges.

A schema is any dry-schema-compatible validator: #call(value) returning a result that responds to #success? and #errors (dry-schema's own contract). As a batteries-included default, a plain JSON Schema Hash (the interlingua the ToolDefinition already speaks) is accepted and validated by the zero-dependency Schema below — "config over convention": bring dry-schema for richer contracts, or hand a JSON Schema for the common case.

Defined Under Namespace

Classes: Definition, Schema