fix(heartbeat): honor Ally concurrency 15 - #936
Closed
allyblockcast[bot] wants to merge 1 commit into
Closed
Conversation
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Author
|
🔗 Paperclip issue: BLO-20742 |
1 similar comment
Author
|
🔗 Paperclip issue: BLO-20742 |
Author
Author
|
Superseded by an exact-head restack on current #912; this branch used a stale managed-local pointer and GitHub correctly reported it conflicted. |
13 tasks
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.
Thinking Path
Linked Issues or Issue Description
Paperclip issue: https://paperclip.blockcast.net/BLO/issues/BLO-20742
Related prerequisite: #912. Prior eight-slot ceiling change: #885.
Bug report fields:
maxConcurrentRuns: 15, while external-lifecycle admission clamps it to 8.opencode_k8sagent withconcurrencyEnabled: trueandmaxConcurrentRuns: 15; under backlog, observe no more than 8 active runs before this change.What Changed
EXTERNAL_LIFECYCLE_SLOT_CAPACITYfrom 8 to 16 so Ally's configured 15 is effective.resolveExternalLifecycleConcurrencyreturns 15 for the configured value and clamps 16/50 to 16.HEARTBEAT_POLICY_MAX_CONCURRENT_MAX + 1before persistence.Verification
pnpm exec vitest run packages/shared/src/adapter-types.test.ts server/src/__tests__/heartbeat-external-lifecycle-concurrency-flag.test.ts server/src/__tests__/heartbeat-start-lock.test.ts --reporter=dot(32/32 passed)pnpm exec vitest run server/src/__tests__/heartbeat-dispatch-priority-sort.test.ts -t 'claims at most 15 available slots across concurrent dispatch attempts' --reporter=dot(1/1 passed)pnpm --filter @paperclipai/shared typecheck(passed)pnpm --filter @paperclipai/server typecheck(passed)FailedSchedulingevent was observed.Risks
FailedMount; it was not a resource-capacity failure, but post-rollout verification must still watchFailedScheduling,OOMKilled, eviction, start-lock errors, queue age, and review failure rate.concurrencyEnabled: falseimmediately restores one-run containment.Model Used
openai/gpt-5.6-sol) via OpenCode, with reasoning, repository editing, test execution, GitHub, Paperclip, Prometheus, and Kubernetes read-only tools. Context window size was not exposed by the runtime.Checklist