af-workflow 0.17.1

Spec-driven workflow chassis: typed node expressions composed into a branched DAG. Port of agent_core/workflow.
Documentation
# af-workflow

Spec-driven workflow chassis: typed node expressions composed into a branched DAG. Port of agent_core/workflow.

## Install

```sh
cargo add af-workflow
```

Use the exact Agent Factory version across packages in one application.

## Scope

Actions may populate `CapabilityManifest.required_guard_pins` with exact
`CapabilityPin` values to require multiple distinct guards of the same role.
The common validator requires every pin on every action path; it does not
replace `required_guards` or the existing authorization/freshness/reservation
requirements. Use an updated Factory host and publish a new capability digest
and revision when adopting this field. Empty requirements retain legacy JSON.
Every Guard manifest must also set `guard_kind`; its registered implementation
must declare the same role. Existing Guard JSON without the field still
deserializes but fails validation closed. Migrate it under a new immutable
capability digest and republish each workflow revision that pins the Guard.

This package owns reusable, business-free infrastructure and lifecycle contracts. Product prompts, domain tools, policies, credentials, data, and deployment configuration remain in the consuming application.

## Documentation

API and package documentation: [https://docs.rs/af-workflow](https://docs.rs/af-workflow)