Art Studio submitBatch drops already-accepted assets on mid-run failure #1048

Closed
opened 2026-08-13 05:28:42 +00:00 by spikerj · 1 comment
Owner

ArtStudioService.submitBatch JSDoc says a mid-run failure "rejects with the ones already accepted attached, so the caller can decide whether to keep looping (Continuous) or stop."

The implementation just await this.submit(submission) inside a for-loop. The first quota/429 throw discards the local accepted array — it is never hung on the rejection. The shell catch only reads artStudio.error(), so Continuous cannot resume from the assets that already consumed quota.

Pinned by art-studio.service.edges.spec.ts ("submitBatch mid-run failure rejects WITHOUT attaching already-accepted responses").

async submitBatch(request: ArtGenerationRequest): Promise<SubmitArtAssetResponse[]> {
  const accepted: SubmitArtAssetResponse[] = [];
  for (const submission of request.submissions) {
    accepted.push(await this.submit(submission));
  }
  return accepted;
}
`ArtStudioService.submitBatch` JSDoc says a mid-run failure "rejects with the ones already accepted attached, so the caller can decide whether to keep looping (Continuous) or stop." The implementation just `await this.submit(submission)` inside a for-loop. The first quota/429 throw discards the local `accepted` array — it is never hung on the rejection. The shell catch only reads `artStudio.error()`, so Continuous cannot resume from the assets that already consumed quota. Pinned by `art-studio.service.edges.spec.ts` ("submitBatch mid-run failure rejects WITHOUT attaching already-accepted responses"). ```ts async submitBatch(request: ArtGenerationRequest): Promise<SubmitArtAssetResponse[]> { const accepted: SubmitArtAssetResponse[] = []; for (const submission of request.submissions) { accepted.push(await this.submit(submission)); } return accepted; } ```
Author
Owner

Already present on spikersoft-angular master. submitBatch attaches the accepted array onto a mid-run rejection so Continuous can resume. Closing.

Already present on `spikersoft-angular` `master`. `submitBatch` attaches the `accepted` array onto a mid-run rejection so Continuous can resume. Closing.
Sign in to join this conversation.