Skip to content

v0.2.0

Choose a tag to compare

@renezander030 renezander030 released this 04 Jun 13:34
· 34 commits to master since this release

Three additions to the governed-pipeline engine, plus sharper positioning.

Webhook triggers (schedule: webhook)

Opt-in HTTP server: authenticated POST /hooks/<pipeline> runs a pipeline on demand. Bearer auth (constant-time compare), body-size cap, 409 when already running, no port opened unless enabled, refuses to start without a secret. The request body reaches the pipeline as {{webhook_body}} / {{input}}. A trigger only starts a pipeline — the approval gate still runs, so an inbound request can never make the LLM fire an outbound action.

Observability spans (internal/obs)

Opt-in structured JSON spans, one per pipeline and one per step (duration, status, tokens, cost). Off by default; enable with observability.spans: true or DRAFTCAT_TRACE=1. One line per span, ready for a log collector or a future OpenTelemetry exporter.

Schema enforcement: enum + number

output_schema now enforces enum membership and the number type at runtime. Skills already used both, but they were silently ignored. The validator accepts them and flags non-list enums.

Positioning

README adds an agent-harness (Flue / Claude Code) comparison column, framing Draftcat as the deterministic-boundary inverse of an autonomous agent harness.