ops-warden/scripts
tegwick a10bbd2162 feat(WARDEN-WP-0021): T3-T5 — visibility, approve loop, runbook (scheduled worker complete)
T4 (review→send loop): conservative tick persists structured drafts to
state_dir/worker-drafts.json; `warden worker drafts` lists them, `warden worker approve
<id> [--body …]` sends the reviewed draft as the reply + marks read + drops it. Escalated
plans persist no draft. Live-verified end-to-end.

T3 (visibility): `warden worker status` (pending drafts, triage count, last digest, timer
state); best-effort notify-send nudge in the tick when drafts are pending.

T5: wiki/playbooks/scheduled-worker.md (enable/disable, the approve loop, failure modes,
conservative-only posture) + SCOPE note.

WARDEN-WP-0021 finished: the conservative worker now runs on a systemd --user timer
(enabled, every 15 min), triages new inbox messages into drafts you approve with one
command, degrades gracefully, and stops with one command. 249 tests, lint clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 15:24:10 +02:00
..
build_flex_auth_registry.py feat: close WP-0009/WP-0013 production integration stewardship strand 2026-06-24 12:44:32 +02:00
check_principals_drift.py feat: close WP-0009/WP-0013 production integration stewardship strand 2026-06-24 12:44:32 +02:00
check_secret_posture_conformance.py feat(WARDEN-WP-0015): T3 conformance checker + T4 dev-tier contract doubles 2026-06-27 19:30:30 +02:00
check_tunnel_cert_readiness.py feat(WARDEN-WP-0016): ops-bridge cert_command readiness gate + handoff 2026-06-27 19:50:28 +02:00
install-worker-timer.sh feat(WARDEN-WP-0021): T1+T2 — scheduled worker tick enabled (systemd --user timer) 2026-06-30 15:19:23 +02:00
policy_gate_production_smoke.sh feat(smoke): joint-smoke mode against deployed flex-auth (assist FLEX-WP-0007 T4) 2026-06-29 00:40:20 +02:00
worker-tick.sh feat(WARDEN-WP-0021): T3-T5 — visibility, approve loop, runbook (scheduled worker complete) 2026-06-30 15:24:10 +02:00