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
2 changes: 1 addition & 1 deletion .gemini/launchd/com.zeta.backlog-ready-notifier.plist
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<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. -->
Update these paths manually for your local machine before running `launchctl load`. -->
<key>ProgramArguments</key><array>
<string>/opt/homebrew/bin/bun</string>
<string>/Users/acehack/Documents/src/repos/Zeta/tools/bg/backlog-ready-notifier.ts</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ provides a less-ambiguous concrete claim — eliminating the
- [ ] Tracks assignment history to avoid re-assigning same row
within short window
- [ ] Tests cover the readiness-detection heuristics
- [ ] Documented in `docs/AUTONOMOUS-LOOP.md`
- [x] Documented in `docs/AUTONOMOUS-LOOP.md`

## Design sketch

Expand Down Expand Up @@ -169,9 +169,9 @@ Using the canonical per-service slice ordering from `tools/bg/README.md`:
| 2 | Real detection signal #1 (backlog-row scan: status + deps satisfied) | ✅ shipped | — |
| 3 | Queue-state guard wiring (`isAgentQueueEmpty` into `pollOnce`) | ✅ shipped | B-0500 |
| 4 | Bus-publish wiring (`work-assignment` topic) | ✅ shipped | — |
| 5a | Assignment history dedup / cooldown (avoid re-assigning same row) | ❌ open | B-0501 |
| 5a | Assignment history dedup / cooldown (avoid re-assigning same row) | ✅ shipped | B-0501 |
| 5.2 | Agent-side `work-assignment` subscriber handler (consume + act) | ❌ open | B-0460 |
| 6 | launchd plist + `docs/AUTONOMOUS-LOOP.md` wiring | ❌ open | B-0502 |
| 6 | launchd plist + `docs/AUTONOMOUS-LOOP.md` wiring | ✅ shipped | B-0502 |

Slices 1, 2, 4 are live in `tools/bg/backlog-ready-notifier.ts` (per README "1+2+4 live").
B-0460 depends on B-0449 (subscriber library design pass); B-0500/B-0501/B-0502 are independent.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: B-0502
priority: P1
status: in-progress
status: shipped
title: "B-0441 slice 6 — launchd plist for backlog-ready-notifier + AUTONOMOUS-LOOP.md update"
tier: factory-infrastructure
effort: XS
Expand Down Expand Up @@ -35,7 +35,7 @@ covers the same gap for `standing-by-detector.ts`.

## Acceptance criteria

- [ ] `.gemini/launchd/com.zeta.backlog-ready-notifier.plist` created; follows the
- [x] `.gemini/launchd/com.zeta.backlog-ready-notifier.plist` created; follows the
established pattern from `.gemini/launchd/com.zeta.missed-substrate-detector.plist`:
- `Label`: `com.zeta.backlog-ready-notifier`
- `ProgramArguments`:
Expand All @@ -50,14 +50,14 @@ covers the same gap for `standing-by-detector.ts`.
- `WorkingDirectory`: repo root (`/Users/acehack/Documents/src/repos/Zeta`)
- Maintainer-note comment: paths are machine-specific (`/Users/acehack`,
`/opt/homebrew`); update before `launchctl load`
- [ ] `docs/AUTONOMOUS-LOOP.md` §"Related artifacts" updated:
- [x] `docs/AUTONOMOUS-LOOP.md` §"Related artifacts" updated:
- `backlog-ready-notifier.ts` listed as launchd-registered alongside
`missed-substrate-detector.ts` (remove from "not yet wired to launchd" list)
- Add note: "produces `work-assignment` bus envelopes; see B-0460 for the
subscriber handler that consumes them"
- [ ] B-0441 acceptance criterion #2 ("Runs under existing launchd / cron
- [x] B-0441 acceptance criterion #2 ("Runs under existing launchd / cron
infrastructure") ticked on the parent row
- [ ] `tools/bg/README.md` §"Current services" table updated: slice status for
- [x] `tools/bg/README.md` §"Current services" table updated: slice status for
`backlog-ready-notifier.ts` changed from `1+2+4 live` to `1+2+3+4+6 live`
(after B-0500 lands; if B-0500 is not yet merged, note it separately)

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+6 live (slice 3 pending B-0500) | backlog-row scan (status + deps satisfied) | `work-assignment` |
| Backlog-ready notifier | `backlog-ready-notifier.ts` | 1+2+3+4+5a+6 live (5.2 pending B-0460) | backlog-row scan (status + deps satisfied) | `work-assignment` |
| Missed-substrate detector | `missed-substrate-detector.ts` | 1+2+3+4+5 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); auto-recovery via `--auto-recover` / `--recovery-dry-run` flags (slice 5 landed 2026-05-15) | `missed-substrate-cascade` |
| Missed-substrate recovery (helper) | `missed-substrate-recovery.ts` | core function + adapter contract shipped 2026-05-15 (B-0503); wired into detector via `REAL_RECOVERY_ADAPTERS` (B-0504) | n/a (invoked by detector when `--auto-recover` set) | n/a (opens recovery PR directly via `gh pr create`) |

Expand Down
Loading