Expand description
The production-loop catalogue.
Loop engineering names seven recurring loops that teams actually run.
Each is just a LoopSpec constructor — sensible defaults for level,
cadence, budget, and the maker/checker prompts — that you then bind to a
model, tools, sandbox, and gate via crate::LoopEngine, or hand to the
crate::LoopScheduler to run on its cadence.
| Pattern | Default cadence | Level | Action |
|---|---|---|---|
daily_triage | daily 09:00 | L1 | report |
pr_babysitter | every 10m | L1 | comment |
ci_sweeper | every 10m | L2 | apply-patch |
dependency_sweeper | daily 04:00 | L2 | open-pr |
changelog_drafter | daily 18:00 | L1 | draft |
post_merge_cleanup | every 6h | L1 | report |
issue_triage | every 2h | L1 | comment |
Defaults are deliberately conservative — start a loop where the table says and graduate its level as you build trust.
Functions§
- catalogue
- Every built-in pattern, in catalogue order. Handy for listing or for registering a whole suite with the scheduler.
- changelog_
drafter - Changelog Drafter — draft release notes from recent merges. Report-only; runs in the evening or on tag.
- ci_
sweeper - CI Sweeper — when CI is red, investigate and propose a fix. Assisted: the maker may patch inside a sandbox, but a human gates the change. Cautious and potentially expensive — budget accordingly.
- daily_
triage - Daily Triage — scan the project on a daily cadence and surface what needs a human’s attention. Report-only; the cheapest loop to start with.
- dependency_
sweeper - Dependency Sweeper — find safe dependency updates and open a PR for them. Assisted, patch-only, low cadence.
- issue_
triage - Issue Triage — label and route new issues, propose-only.
- post_
merge_ cleanup - Post-Merge Cleanup — after merges, look for follow-ups: dead code, stale branches, leftover TODOs. Report-only, off-peak.
- pr_
babysitter - PR Babysitter — watch open pull requests and report when one needs a nudge (failing CI, requested changes, merge conflicts, gone quiet). High cadence, so keep the budget tight.