v0.4.0 — warden-lite
[0.4.0] - 2026-05-12
Partner-readiness release. Closes the gap between "partner says yes"
and "partner is running warden-lite in front of their agent." Single
binary now covers server + operator ops; yellow-tier parks alert
Slack with a one-click-ready decide command line; the SDK demo
demonstrates the canonical operator flow end-to-end.
Added
GET /pending— operator list endpoint. Query params:
?status=parked|decided|all(defaultparked),?limit=N(default
50, server hard-cap 500). Returns array of pending views, newest
requested first. Requires--decide-tokenif configured.warden-lite pending {list,get,decide}CLI subcommands. Talks
to a running warden-lite over HTTP; same wire contract as the
endpoints.pending listprints a table by default,--jsonfor
scripting.pending decidetakes--allowor--deny(mutually
exclusive) + optional--note. Falls back toWARDEN_LITE_URL,
WARDEN_LITE_DECIDE_TOKEN,WARDEN_LITE_TOKENenvs.- Slack-webhook park alerts via
--slack-webhook-url(or
WARDEN_LITE_SLACK_WEBHOOK_URL). Every yellow-tier park spawns a
fire-and-forget POST with the correlation id, agent, tool, review
reasons, and the exactwarden-lite pending decidecommand line
for the approver. One-way — operators decide via the CLI or curl
(no Slack→warden return path; that lives in the full edition's HIL
service). Failed webhooks log atwarnand never block the
agent's 202.