chore(b-0441): decompose into atomic child rows B-0500/B-0501/B-0502/B-0460#3147
Merged
Merged
Conversation
…B-0460 Slices 1+2+4 of backlog-ready-notifier are already live. This decomposition formalises the three remaining notifier slices and the agent-side subscriber: - B-0500 (slice 3): wire isAgentQueueEmpty guard into pollOnce — currently the function exists but pollOnce publishes unconditionally - B-0501 (slice 5): assignment history dedup cooldown — avoid re-publishing the same row within a configurable cooldown window - B-0502 (slice 6): launchd plist + AUTONOMOUS-LOOP.md documentation wiring - B-0460 (slice 5.2): work-assignment subscriber handler — explicitly referenced in B-0449 as the consumer-side complement; file did not exist Updates parent B-0441 frontmatter (children field, last_updated) and replaces the TBD decomposition hint with a formal slice-status table. operative-authorization: aaron 2026-05-13: "Cooling period: TBD. The memory file IS the durable record" Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Decomposes parent backlog row B-0441 (backlog-ready-notifier background service) into four atomic child rows so the remaining slices (3, 5a, 5.2, 6) can be picked up independently. No code changes — this PR adds planning documents and updates the parent row's frontmatter and slice table.
Changes:
- Creates four new P1 backlog rows: B-0500 (queue-state guard wiring), B-0501 (assignment-history cooldown), B-0502 (launchd plist + docs), B-0460 (work-assignment subscriber handler, depends on B-0449).
- Updates parent B-0441: adds
children:frontmatter, bumpslast_updated, replaces TBD slice list with a concrete slice-status table, and checks off pre-start checklist items.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docs/backlog/P1/B-0500-…2026-05-14.md | New row: wire existing isAgentQueueEmpty into pollOnce; adds targetAgent config + queueBusy PollResult field. |
| docs/backlog/P1/B-0501-…2026-05-14.md | New row: assignment-history dedup with cooldown window, atomic file write, adapter injection. |
| docs/backlog/P1/B-0502-…2026-05-14.md | New row: launchd plist + AUTONOMOUS-LOOP.md/README updates; StartInterval: 600 matching default poll interval. |
| docs/backlog/P1/B-0460-…2026-05-14.md | New row: agent-side subscriber handler for work-assignment topic; depends on B-0449. |
| docs/backlog/P1/B-0441-…2026-05-13.md | Parent updated with children:, completed checklist, formalized slice-status table. |
MD032 requires blank lines surrounding lists. Line 107 had a bullet list starting immediately after a colon-terminated sentence with no separator. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
B-0441 (backlog-ready-notifier background service) had slices 1+2+4 already shipped in
tools/bg/backlog-ready-notifier.ts. The remaining implementation work was sketched as a TBD list in the parent row. This PR formalises that work into four dependency-ordered atomic child rows.Child rows created:
isAgentQueueEmptyguard intopollOnce(currently publishes unconditionally; function exists but is not called from the poll loop)docs/AUTONOMOUS-LOOP.mdupdate (same pattern ascom.zeta.missed-substrate-detector.plist)work-assignmentsubscriber handler — explicitly referenced in B-0449 as "B-0460" but the file never existedParent row updated:
children:field added to frontmatterFocused checks
Notes
isAgentQueueEmptyfunction is already fully implemented and tested; B-0500 is a wiring-only change (~30 lines implementation + ~40 lines tests)StartInterval: 600(10 min) to matchDEFAULT_CONFIG.pollIntervalMin, distinguishing it from the standing-by-detector (300s) and missed-substrate-detector (300s)operative-authorization: aaron 2026-05-13: "Cooling period: TBD. The memory file IS the durable record"
🤖 Generated with Claude Code