Night queue

Since v0.8.6, you can enqueue a batch of agent jobs into a workspace night queue, run them unattended on a schedule, verify with Gate-as-Code, roll back on failure, and produce a morning briefing.

Where to use it

Surface Role
Sidebar Night queue Enqueue, inspect status, run queue, write briefing
Settings → Scheduled tasks RRULE triggers: enqueue / run night queue
CLI zagens queue add|list|run|briefing

Persistence: {workspace}/.zagens/night_queue.json; events .zagens/queue_events.jsonl; briefing merges into .zagens/handoff.md.

Typical flow

  1. Enqueue — prompt; optional gate preset / inline predicate; optional git worktree isolation.
  2. Run queue — agent + gate (sequential or limited parallel).
  3. Gate — pass → marked passed; fail → optional snapshot rollback.
  4. Briefing — merge results into handoff (--office for Office pack).

Statuses: pending / running / passed / failed / rolled back.

CLI examples

zagens queue add "fix failing tests" --gate-preset rust-cargo-smoke
zagens queue add "docs" --gate-file path/to/gate.toml
zagens queue add "README exists" --gate file_exists:path=README.md

zagens queue list
zagens queue run
zagens queue briefing
zagens queue briefing --office

Flags: --no-worktree, --max-parallel N, --no-briefing. See Headless CLI.

Scheduled tasks and hooks

Trigger Behavior
Night queue enqueue Appends prompt (+ optional gate); does not run
Run night queue Runs pending jobs (agent + gate + optional briefing)

Tip: schedule enqueue during the day, schedule run overnight.

Hook events: night_queue_enqueue, night_queue_run_start, night_queue_run_end — see Hooks.

Built-in gate presets

Preset Purpose
rust-cargo-smoke cargo check + cargo test
go-build-vet go build / go vet / tests
deliverables-min deliverables/** exists (no shell)
go-microstack-migrated Migration sample gate

zagens gate list / zagens gate validate — see Gate-as-Code.

Tips

Related: Gate-as-Code · Scheduled tasks · Hooks · CLI