ops-warden/src/warden
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
..
routing feat(WARDEN-WP-0019): route secret-exec lanes to secrets-engine (route-primary, proxy fallback) 2026-06-29 17:41:49 +02:00
scripts Initial Commit 2026-03-28 00:45:43 +00:00
__init__.py Initial Commit 2026-03-28 00:45:43 +00:00
access.py feat(WARDEN-WP-0014): T2 — warden access advisory front door 2026-06-27 16:13:51 +02:00
ca.py feat: opt-in flex-auth policy gate and OpenBao verify (WP-0007) 2026-06-17 08:37:14 +02:00
cli.py feat(WARDEN-WP-0021): T3-T5 — visibility, approve loop, runbook (scheduled worker complete) 2026-06-30 15:24:10 +02:00
config.py feat: opt-in flex-auth policy gate and OpenBao verify (WP-0007) 2026-06-17 08:37:14 +02:00
doubles.py feat(WARDEN-WP-0015): T3 conformance checker + T4 dev-tier contract doubles 2026-06-27 19:30:30 +02:00
inventory.py Initial Commit 2026-03-28 00:45:43 +00:00
models.py feat: opt-in flex-auth policy gate and OpenBao verify (WP-0007) 2026-06-17 08:37:14 +02:00
policy.py feat(WARDEN-WP-0014): T3 — OpenBao proxy lane (--fetch / --exec) 2026-06-27 16:26:03 +02:00
posture.py fix(cli): bundle registry into wheel so installed warden works outside the repo 2026-06-27 19:40:14 +02:00
proxy.py feat(WARDEN-WP-0014): T3 — OpenBao proxy lane (--fetch / --exec) 2026-06-27 16:26:03 +02:00
scorecard.py feat(warden): WARDEN-WP-0003 — test coverage, permissions, status --state-dir 2026-05-15 17:05:38 +02:00
vault.py feat(warden): WARDEN-WP-0003 — test coverage, permissions, status --state-dir 2026-05-15 17:05:38 +02:00
worker.py feat(WARDEN-WP-0021): T3-T5 — visibility, approve loop, runbook (scheduled worker complete) 2026-06-30 15:24:10 +02:00