Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .gemini/launchd/com.zeta.backlog-ready-notifier.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.zeta.backlog-ready-notifier</string>
<!-- Maintainer-only artifact: paths are machine-specific (/Users/acehack, /opt/homebrew).
Run tools/setup/install-launchd-services.sh to regenerate with local paths. -->
<key>ProgramArguments</key><array>
<string>/opt/homebrew/bin/bun</string>
<string>/Users/acehack/Documents/src/repos/Zeta/tools/bg/backlog-ready-notifier.ts</string>
<string>--once</string>
</array>
<key>StartInterval</key><integer>600</integer>
<key>RunAtLoad</key><true/>
<key>StandardOutPath</key><string>/Users/acehack/Library/Logs/zeta-backlog-ready-notifier/stdout.log</string>
<key>StandardErrorPath</key><string>/Users/acehack/Library/Logs/zeta-backlog-ready-notifier/stderr.log</string>
<key>EnvironmentVariables</key><dict>
<key>HOME</key><string>/Users/acehack</string>
<key>PATH</key><string>/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>WorkingDirectory</key><string>/Users/acehack/Documents/src/repos/Zeta</string>
</dict>
</plist>
16 changes: 10 additions & 6 deletions docs/AUTONOMOUS-LOOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -588,12 +588,16 @@ declared) against `CronList` and re-arms missing rows.
proactive multi-agent loop is augmented by macOS `launchd` background
daemons that ensure failure modes and deadlocks are broken without
human intervention. See `tools/bg/`. Currently 4 services exist in
`tools/bg/`; only `missed-substrate-detector.ts` is launchd-registered
(`.gemini/launchd/com.zeta.missed-substrate-detector.plist`). The other
three (`backlog-ready-notifier.ts`, `standing-by-detector.ts`,
`audit-duplicate-row-ids.ts`) are invokable on demand via
`bun tools/bg/<name>.ts --once` but not yet wired to launchd (B-0441
acceptance #2 + B-0442 slice 5+ pending). Note: plist files contain
`tools/bg/`; `missed-substrate-detector.ts` and
`backlog-ready-notifier.ts` are launchd-registered
(`.gemini/launchd/com.zeta.missed-substrate-detector.plist`,
`.gemini/launchd/com.zeta.backlog-ready-notifier.plist`). The
remaining two (`standing-by-detector.ts`, `audit-duplicate-row-ids.ts`)
are invokable on demand via `bun tools/bg/<name>.ts --once` but not
yet wired to launchd (B-0497 for standing-by-detector; B-0442
slice 5+ for audit-duplicate-row-ids). `backlog-ready-notifier.ts`
produces `work-assignment` bus envelopes; see B-0460 for the
subscriber handler that consumes them. Note: plist files contain
machine-specific paths and are maintainer-only artifacts.

- **`docs/hygiene-history/loop-tick-history.md`** — the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ provides a less-ambiguous concrete claim — eliminating the
## Acceptance criteria

- [ ] Background service `tools/bg/backlog-ready-notifier.ts` exists
- [ ] Runs under existing launchd / cron infrastructure
- [x] Runs under existing launchd / cron infrastructure (B-0502 — `.gemini/launchd/com.zeta.backlog-ready-notifier.plist`)
- [ ] Periodically scans `docs/backlog/P*/B-*.md` for ready-to-grind
rows (open, no blockers, dependencies satisfied)
- [ ] Detects agent queue state (commits in last N minutes; current
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: B-0502
priority: P1
status: open
status: in-progress
title: "B-0441 slice 6 — launchd plist for backlog-ready-notifier + AUTONOMOUS-LOOP.md update"
tier: factory-infrastructure
effort: XS
Expand Down
2 changes: 1 addition & 1 deletion tools/bg/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ so future readers don't overclaim.
| Service | File | Slice status | Detection signal | Bus topic |
|---------|------|--------------|------------------|-----------|
| Standing-by detector | `standing-by-detector.ts` | 1+2+3+4 live | commit-history (HEAD) + PR-activity (repo) via `gh`/`git` | `infinite-backlog-nudge` |
| Backlog-ready notifier | `backlog-ready-notifier.ts` | 1+2+4 live | backlog-row scan (status + deps satisfied) | `work-assignment` |
| Backlog-ready notifier | `backlog-ready-notifier.ts` | 1+2+4+6 live (slice 3 pending B-0500) | backlog-row scan (status + deps satisfied) | `work-assignment` |
| Missed-substrate detector | `missed-substrate-detector.ts` | 1+2+3+4 live | merged-PR fetch via `gh`; real branch-vs-squash compare via `gh pr view --json headRefOid` + `git log <headRefOid>..origin/<branch>` (slice 3 landed 2026-05-13) | `missed-substrate-cascade` |

Per-service slice ordering (each service decomposes into 6 slices):
Expand Down
Loading