This file documents how the loop-engineering reference repository is operated with loop engineering patterns.
The goal of this repo is to be the canonical, copyable, high-signal collection of patterns, starters, and tooling. It eats its own dogfood aggressively.
- Cadence: 1d weekdays (
/.github/workflows/daily-triage.yml) - Skill:
loop-triage(fromskills/andstarters/minimal-loop) - State:
STATE.md(updated by workflow; human reviews weekly issue) - Phase: Report-only. Human reviews and decides actions.
- Handoff: Design decisions, large refactors, new pattern acceptance.
- Cadence: 10–15m during active hours (maintainer
/loopor future Action) - Starter:
starters/pr-babysitter(Grok, Claude Code, Codex) - Worktrees for suggested fixes; verifier required; no auto-merge by default.
- Cadence: 6h–1d
- Starter:
starters/dependency-sweeper - Patch + low-risk CVE only for first 30 days
- Verifier = full
npm ci && npm testin worktree - Human gate on majors and denylisted packages
validate-patterns.yml+audit.ymldogfood pattern validation and readiness scoringaudit.ymlposts loop readiness scores on PRs- Future: sweeper reacting to failing validate/audit runs
- Cadence: 1d or on release prep (manual or tag-triggered)
- Starter:
starters/changelog-drafter - Produces
RELEASE_NOTES_DRAFT.md(or section for GitHub release). Human approves before publish or CHANGELOG update. - Excellent low-risk companion to Post-Merge Cleanup. This reference repo should run it for future releases.
See docs/multi-loop.md. Priority: CI Sweeper → PR Babysitter → Dependency Sweeper → Post-Merge / Changelog Drafter (off-peak) → Daily Triage (report).
- Any unattended code-change experiment runs in an isolated git worktree per attempt.
- One worktree per fix; discard after verifier REJECT or human escalation.
- Optional for L1 daily triage — see examples/mcp/
- GitHub MCP read-only for issue/PR discovery
- Scope connectors to read + comment until the loop is trusted
- Token caps:
loop-budget.md - Run history:
loop-run-log.md(appended each weekday run bydaily-triage.yml) - Estimate:
npx @cobusgreyling/loop-cost --pattern daily-triage - Kill switch:
loop-pause-alllabel or flag inSTATE.md
- No auto-merge on main except trivial dependency patches (allowlist + verifier)
- Denylist: showcase HTML/CSS, core primitives docs, audit scoring logic without human review
- Live loop state:
STATE.mdat repo root
node tools/loop-audit/dist/cli.js . --suggest
npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok # after npm publish
bash scripts/before-after-demo.sh| Loop | Level | Automation | Notes |
|---|---|---|---|
| Daily Triage | L1 | ✅ daily-triage.yml |
Weekdays; updates STATE.md + loop-run-log.md |
| Changelog Drafter | L1 | ✅ changelog-drafter.yml |
Mondays; opens release-prep issue |
| Star History | L1 | ✅ update-star-history.yml |
Daily; auto-PR to main |
| Validate + Audit | L1 | ✅ validate-patterns.yml, audit.yml |
On PR + push; readiness score on PRs |
| Dependabot | L1 | ✅ .github/dependabot.yml |
Weekly npm (loop-audit, loop-init) + GitHub Actions |
| PR Babysitter | L2 | ⏸ Manual | Maintainer /loop or starters/pr-babysitter — no Action yet |
| Dependency Sweeper | L2 | ⏸ Dependabot only | Patch PRs via Dependabot; full sweeper starter is manual |
| CI Sweeper | L2 | ⏸ Partial | Reacts via failing validate/audit; no dedicated retry workflow |
Next automation candidates: PR Babysitter on a schedule (read-only triage comment), CI Sweeper workflow_dispatch tied to failed audit.yml runs.
Journey recorded in stories/. Target: solid L2 with excellent observability.
This file is both documentation and the seed for the loops that maintain the reference.