v0.4.0 — Application-First / Laravel-Native
Application-First / Laravel-Native
This release turns Rick from an execution engine into a Laravel workflow package application developers prefer to write, read, test, and operate — while keeping the same durability guarantees.
What's new
- First-class
Workflowclasses — extendRick\Laravel\Workflow, declarename()/version()/build(), start withWorkflow::start([...]). - Plain PHP application steps —
->step(LoadClaim::class, as: 'load-claim')runs an ordinary invokable against aWorkflowState. No codec, strategy, orStepBaserequired by the consumer. - Laravel AI agent steps —
->agent(FlagRisk::class, as: 'risk')adapts aLaravel\Ai\Contracts\Agentinto exactly one audited provider call (tools, approvals, and multi-turn conversation are rejected loudly). WorkflowState— dot-notationget/put/has/forgetlayered over the existing artifact model.Runhandle —id,snapshot,metrics,timeline,delivery,progress,pendingInteraction,resume,retry.->output()— replacesoutputGlue()on the happy path;resolve()/context()/outputGlue()are no longer mandatory.- Stable step aliases (
as:) + labels (label:) +progress()— a safe{status, step_id, label, current, total}projection. Rick::fake()— high-level assertions (assertStepRan,assertAwaitingHuman,assertProviderAttempts,assertRunRecoveredFrom).make:rick-workflowgenerator.
Compatibility
- All existing
Rickmethods and builder methods remain;outputGlue()is a backward-compatible alias. - Persisted run/step payloads remain schema version 1;
application/agentare additive step types. - Supports Laravel AI
^0.9.1 || ^0.10.0(agent capability matrix documented in the changelog).
Full details: CHANGELOG.md