HOMELAB-2321: fix(pi-swarm-suite): tell orchestrators ending the turn is safe #68
Open
aaron
wants to merge 1 commit from
plane/HOMELAB-2321-poll-loop-guard into main
pull from: plane/HOMELAB-2321-poll-loop-guard
merge into: Homelab:main
Homelab:main
Homelab:reviewers-by-repo-f1
Homelab:lr-20261111-017-s1
Homelab:lr-20261111-017-f5
Homelab:lr-20261111-017-census
Homelab:lr-20261111-017-lockharden
Homelab:lr/IR-20261111-extskill
Homelab:lr-20261111-017-n6split
Homelab:lr-20261111-017-headfollow2
Homelab:lr-20261111-017-headfollow
Homelab:lr-20261111-017-headpin
Homelab:plane/HOMELAB-2479-122-signal-exit-fix
Homelab:plane/HOMELAB-2479-seat-post-helper
Homelab:archive/plane/HOMELAB-1850-attribution-wip-20261110
Homelab:archive/plane/HOMELAB-1688-routines-wip-20261110
Homelab:archive/plane/HOMELAB-2674-operator-identity-wip-20261110
Homelab:lock-frozen-20261107
Homelab:ld/pi-skills-lab-run-archive-fix
Homelab:ldv0/ld-sessiontag-f
Homelab:plane/HOMELAB-2682-reload-trace
Homelab:plane/HOMELAB-2682-fake-tmpfix
Homelab:plane/HOMELAB-2682-forge-write-refuse
Homelab:plane/HOMELAB-2682-ci-key-file
Homelab:plane/ci-pending-status-truth
Homelab:plane/HOMELAB-2682-watchdog-fix
Homelab:plane/HOMELAB-2682-operator-refuse
Homelab:plane/HOMELAB-2682-refusal-forms
Homelab:plane/HOMELAB-2682-selfresolve-nearmiss
Homelab:plane/HOMELAB-2682-cheap-plane-comments
Homelab:plane/HOMELAB-2682-verdict-arm-fix
Homelab:plane/HOMELAB-2682-comment-refuse
Homelab:plane/HOMELAB-2682-finding-rule
Homelab:plane/HOMELAB-2682-blocker-none
Homelab:plane/HOMELAB-2682-collapse
Homelab:plane/HOMELAB-2682-negation-heading
Homelab:plane/HOMELAB-2682-comment-as
Homelab:plane/HOMELAB-2682-bold-negation
Homelab:plane/HOMELAB-2682-get-pr-sha
Homelab:plane/HOMELAB-2682-phrase-hardening
Homelab:plane/HOMELAB-2682-plane-comments-limit
Homelab:plane/HOMELAB-2682-lock-defects
Homelab:plane/HOMELAB-ci-runs-limit
Homelab:plane/HOMELAB-lock-heading-delta
Homelab:plane/HOMELAB-lock-holes
Homelab:plane/HOMELAB-2686-lock-read
Homelab:plane/HOMELAB-2634-janitor-background
Homelab:archive/plane/HOMELAB-2674-operator-identity-20261109
Homelab:plane/HOMELAB-2674-operator-identity
Homelab:plane/HOMELAB-2634-janitor-relief
Homelab:plane/HOMELAB-2524-ci-contexts
Homelab:plane/HOMELAB-2612-gradle-danger
Homelab:plane/HOMELAB-2661-hold-session
Homelab:plane/HOMELAB-2659-merge-panel
Homelab:plane/HOMELAB-2634-herdr-janitor
Homelab:plane/HOMELAB-2578-openbao-auth
Homelab:plane/HOMELAB-2590-blocker-record
Homelab:plane/HOMELAB-2586-wrapped-negation
Homelab:plane/HOMELAB-2566-formal-verdicts
Homelab:plane/HOMELAB-2578-runtime-landing-credential
Homelab:plane/HOMELAB-2567-typebox-tests
Homelab:plane/HOMELAB-2522-formal-supersession
Homelab:plane/HOMELAB-2550-comment-identity-hardening
Homelab:plane/HOMELAB-2554-comment-identity-hardening
Homelab:plane/HOMELAB-2521-blocker-ids
Homelab:plane/HOMELAB-2529-comment-identity
Homelab:plane/HOMELAB-2526-merge-identity
Homelab:plane/HOMELAB-2527-comment-identity
Homelab:plane/HOMELAB-2512-hold-identity
Homelab:plane/HOMELAB-2423-verdict-helper
Homelab:plane/HOMELAB-2411-lock-supersede
Homelab:plane/HOMELAB-2346-exact-head-lock
Homelab:plane/HOMELAB-2323-otel-prompt-undefined
Homelab:plane/HOMELAB-2218-redact-fp
Homelab:plane/HOMELAB-1727-friction-actor
Homelab:plane/HOMELAB-1880-meeting-enriched-transcript
Homelab:plane/HOMELAB-1690-l7
Homelab:plane/HOMELAB-1850-attribution
Homelab:plane/HOMELAB-1877-voice-whisper-tier1
Homelab:plane/HOMELAB-1855-voice-whisper-remote-mic
Homelab:plane/HOMELAB-1688-routines
Homelab:plane/HOMELAB-1842-intercom-conflict
Homelab:plane/HOMELAB-1678-refocus
Homelab:plane/HOMELAB-1788-fallback-fixture
Homelab:plane/HOMELAB-ci-swarm-fix
Homelab:plane/HOMELAB-1788-intercom
Homelab:plane/HOMELAB-1679-closure
Homelab:plane/HOMELAB-1769-mcp-bridge
Homelab:plane/HOMELAB-1750-meeting-video-review
Homelab:plane/HOMELAB-1736-forgejo-ci
Homelab:plane/HOMELAB-1695-modelrole
Homelab:plane/HOMELAB-1741-watchdog-challenge
Homelab:plane/HOMELAB-1668-stall-watchdog
Homelab:plane/HOMELAB-1734-epic-session-generic
Homelab:plane/HOMELAB-1629-attach-kickoff
Homelab:plane/epic-session-emit-fix
Homelab:plane/HOMELAB-1628-voice-whisper
Homelab:plane/HOMELAB-1624-docs
Homelab:plane/HOMELAB-1560-epic-session
Homelab:plane/HOMELAB-1618-pane-ux
Homelab:plane/HOMELAB-1614-swarm-view-ux
Homelab:plane/HOMELAB-1609-ext
Homelab:plane/HOMELAB-1609-skills-agents
Homelab:plane/HOMELAB-1577-steer-send
Homelab:plane/HOMELAB-1576-split-direction
Homelab:plane/HOMELAB-1544-async-only-dispatch
Homelab:plane/HOMELAB-1575-swarm-ux
Homelab:plane/HOMELAB-1571-pane-nits
Homelab:plane/HOMELAB-1569-settings-reload
Homelab:plane/HOMELAB-1573-chat-first
Homelab:plane/HOMELAB-1572-on-demand-panes
Homelab:plane/HOMELAB-1570-pane-ux
Homelab:plane/HOMELAB-1558-phase3
Homelab:plane/HOMELAB-1558-phase4
Homelab:plane/HOMELAB-1557-phase2
Homelab:plane/HOMELAB-1557-phase1
Homelab:plane/HOMELAB-1561-ci
Homelab:plane/HOMELAB-1559-contract-followup
Homelab:plane/HOMELAB-1559-phase0-foundation
Homelab:plane/HOMELAB-1555-telemetry-attribution
Homelab:plane/HOMELAB-1552-otel-subagent-spans
Homelab:plane/HOMELAB-1553-subagent-result-fallback
Homelab:plane/HOMELAB-1552-forgejo-merge-default
Homelab:plane/HOMELAB-1548-model-override
Homelab:rescue/HOMELAB-1534-1542-inflight
Homelab:plane/HOMELAB-1527-tunnel-spans
Homelab:plane/HOMELAB-1532-unknown-prefix-fail-loud
Homelab:plane/HOMELAB-1531-send-project-map
Homelab:homelab-1517/otel-header-format-fix
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
Homelab/pi-extensions!68
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "plane/HOMELAB-2321-poll-loop-guard"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the orchestrator busy-poll seen in the HOMELAB-2319 session:
get_subagent_result(wait:false)was called 12 times in 5 min while a background teamlead ran. The model knew it shouldn't poll, but nothing told it that ending its turn was safe. The still-running reply even said "check back later".Ticket: HOMELAB-2321
Changes (
pi-swarm-suite/src/core/index.tsonly)triggerTurn: true) starts a new turn, so ending the turn is safe.wait: truepath is unchanged.Verification
tsc --noEmitpasses.vitest run: 106/106 files passed on 3 runs. One earlier run had 2 failures that didn't come back on any of the 3 reruns or on the baseline (looks flaky).executepath, so the 60s guard has no unit test.Class: oversight path (agent tool prompt text). Needs the normal review.
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.