beads: file orca-y5r.9–.12 (worker comms + lifecycle cleanup); close orca-82z - #275
beads: file orca-y5r.9–.12 (worker comms + lifecycle cleanup); close orca-82z#275cweill wants to merge 1 commit into
Conversation
…orca-82z File four follow-up beads under the orca-y5r worksource epic, capturing the remaining gaps in autonomous beads delegation surfaced while reviewing the worksource pull loop: - orca-y5r.9 (feature, P1): worker ask-and-wait + autonomous-loop escalation (worker→lieutenant comms open questions 2 & 3). The key gap for trustworthy unattended pull-loop delegation. - orca-y5r.10 (feature, P2): `orca notify` structured channel (open question 1). - orca-y5r.11 (bug, P2): stop benign worker.merge_notify_failed / task.completion_failed on successful merge (observed on #271, #274). - orca-y5r.12 (chore, P3): quiet issue.status_skipped for beads-only items. Close orca-82z (spec shipped in PR #268); the implementation follow-ups above replace it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @cweill's task in 1m 41s —— View job Review
|
Greptile SummaryThis is a data-only change to
Confidence Score: 4/5Safe to merge — the change is purely additive metadata with no code impact; the one concern is a missing ordering edge in the work graph. All four new bead records are structurally valid and the orca-82z metadata refresh is consistent, but orca-y5r.10's own description labels it as foundational for orca-y5r.9 without a corresponding .beads/issues.jsonl — specifically the dependency section of orca-y5r.9 and orca-y5r.10. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
epic["orca-y5r (epic)\nAdopt beads as worksource"]
y5r9["orca-y5r.9 (open, P1)\nWorker ask-and-wait +\nautonomous-loop escalation"]
y5r10["orca-y5r.10 (open, P2)\norca notify: structured\nworker→lieutenant channel"]
y5r11["orca-y5r.11 (open, P2)\nStop benign merge_notify_failed /\ntask.completion_failed"]
y5r12["orca-y5r.12 (open, P3)\nQuiet issue.status_skipped\nfor beads-only items"]
closed82z["orca-82z (closed)\nSpec: worker spawner-awareness\n+ notify/ask channel"]
epic --> y5r9
epic --> y5r10
epic --> y5r11
epic --> y5r12
closed82z -. "spec shipped (PR #268)" .-> y5r9
closed82z -. "spec shipped (PR #268)" .-> y5r10
y5r10 -. "described as foundational for\nask-and-wait — no blocks edge" .-> y5r9
Reviews (1): Last reviewed commit: "beads: file orca-y5r.9–.12 (worker comms..." | Re-trigger Greptile |
| {"_type":"issue","id":"orca-y5r.2","title":"Phase 2: BeadsSource (shells bd --json) + Verify","description":"Exec bd --json; ErrAlreadyClaimed via 'already claimed' string on non-zero exit; parse stdout only (Linear nag on stderr); Verify bd identity (version --json + dolt subcommand). Fixtures in internal/worksource/testdata.","status":"closed","priority":1,"issue_type":"task","assignee":"orca","owner":"charles@weill.dev","created_at":"2026-05-26T06:15:26Z","created_by":"Charles Weill","updated_at":"2026-05-26T19:34:38Z","started_at":"2026-05-26T19:07:07Z","closed_at":"2026-05-26T19:34:38Z","close_reason":"PR #251 merged (449c96a)","external_ref":"LAB-1928","dependencies":[{"issue_id":"orca-y5r.2","depends_on_id":"orca-y5r","type":"parent-child","created_at":"2026-05-26T06:15:26Z","created_by":"Charles Weill","metadata":"{}"},{"issue_id":"orca-y5r.2","depends_on_id":"orca-y5r.1","type":"blocks","created_at":"2026-05-26T06:15:47Z","created_by":"Charles Weill","metadata":"{}"}],"dependency_count":1,"dependent_count":1,"comment_count":0} | ||
| {"_type":"issue","id":"orca-y5r.3","title":"Phase 3: idle-pull dispatch loop (opt-in, default OFF)","description":"monitorTickPull in runLoop; free clones -\u003e Ready -\u003e Claim -\u003e existing assign path; filter epic-type out of ready; fail-fast Verify at startup.","status":"closed","priority":1,"issue_type":"task","assignee":"orca","owner":"charles@weill.dev","created_at":"2026-05-26T06:15:26Z","created_by":"Charles Weill","updated_at":"2026-05-26T21:23:38Z","started_at":"2026-05-26T19:50:42Z","closed_at":"2026-05-26T21:23:38Z","close_reason":"PR #252 merged","external_ref":"LAB-1933","dependencies":[{"issue_id":"orca-y5r.3","depends_on_id":"orca-y5r","type":"parent-child","created_at":"2026-05-26T06:15:26Z","created_by":"Charles Weill","metadata":"{}"},{"issue_id":"orca-y5r.3","depends_on_id":"orca-y5r.2","type":"blocks","created_at":"2026-05-26T06:16:27Z","created_by":"Charles Weill","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"orca-y5r","title":"Adopt beads as a worksource in orca","description":"Pull-based dependency-aware dispatch via a worksource.Source interface + BeadsSource. orca stays a thin executor; Linear stays system of record. Plan + status: Linear LAB-1922.","status":"open","priority":1,"issue_type":"epic","owner":"charles@weill.dev","created_at":"2026-05-26T06:15:25Z","created_by":"Charles Weill","updated_at":"2026-05-26T06:41:18Z","external_ref":"LAB-1922","dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"orca-y5r.10","title":"orca notify: structured worker-\u003elieutenant channel (event log + post)","description":"Implements open question 1 from docs/specs/worker-lieutenant-comms.md.\n\nReplace raw 'amux send-keys' as the only worker-\u003elieutenant mechanism with an 'orca notify' subcommand that records the message to the event log AND posts it to the destination pane. Benefits over raw send-keys: auditable (shows in orca events/status), rate-limitable (soft guardrail against a misbehaving worker spamming the lead), and survives a busy/absent lead.\n\nDestination resolution stays as designed: notify-pane flag -\u003e caller AMUX_PANE (manual) -\u003e notification_pane config (autonomous) -\u003e omit. Foundational for the ask-and-wait bead.","status":"open","priority":2,"issue_type":"feature","owner":"charles@weill.dev","created_at":"2026-05-29T18:03:39Z","created_by":"Charles Weill","updated_at":"2026-05-29T18:03:39Z","dependencies":[{"issue_id":"orca-y5r.10","depends_on_id":"orca-y5r","type":"parent-child","created_at":"2026-05-29T18:03:38Z","created_by":"Charles Weill","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} |
There was a problem hiding this comment.
Missing
blocks edge between orca-y5r.10 and orca-y5r.9
orca-y5r.10's own description calls it "Foundational for the ask-and-wait bead," yet neither issue carries a blocks dependency linking them. In the current graph both are unblocked simultaneously, so the autonomous pull loop could dispatch orca-y5r.9 (ask-and-wait) before orca-y5r.10 (the orca notify infrastructure it relies on) is complete, leading to an implementation that has to stub or skip the foundational channel.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Motivation
While reviewing how well orca handles autonomous beads delegation (the worksource pull loop), we identified the remaining gaps and lifecycle-noise bugs not yet tracked in beads. This files them under the
orca-y5rworksource epic and retires the now-shipped comms spec.Summary
Files four follow-up beads:
notification_pane, route the question through orca's stuck/escalation path. Implements worker→lieutenant comms open questions 2 & 3. The key gap for trustworthy unattended pull-loop delegation.orca notifystructured channel (event log + post), replacing rawsend-keys. Open question 1.worker.merge_notify_failed/task.completion_failedon successful merge (postmortem keeps the pane busy past the idle-wait). Observed on LAB-1965: Treat no-CI PRs as mergeable #271 and LAB-1969: Support direct branch landing #274.issue.status_skippedfor beads-only items with no linked Linear issue.Also closes orca-82z (spec shipped in PR #268); the implementation follow-ups above replace it.
This is a
.beads/issues.jsonl-only change — no code.Testing
bd ready --jsonshows orca-y5r.9–.12 as ready/unblocked under the epic;bd show orca-82zconfirmsstatus=closed. The JSONL was regenerated withbd export(not a partial auto-flush) so the committed graph matches the live Dolt DB exactly.Review focus