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
- Enqueue — prompt; optional gate preset / inline predicate; optional git worktree isolation.
- Run queue — agent + gate (sequential or limited parallel).
- Gate — pass → marked passed; fail → optional snapshot rollback.
- Briefing — merge results into handoff (
--officefor 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
- Prefer worktree isolation for risky edits.
- Share portable gate TOML with the team instead of one-off scripts.
- Dry-run once from the sidebar before unattended schedules.
Related: Gate-as-Code · Scheduled tasks · Hooks · CLI