[PR #209] fix: land the cloud@9794097 Router spec sync (format, retire QueueBacklogFull lead) #207

Open
opened 2026-10-31 22:05:42 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-typescript-sdk/pull/209
Author: @mattmillerai
Created: 10/9/2026
Status: 🔄 Open

Base: main ← Head: matt/land-router-spec-sync-9794097


📝 Commits (3)

  • a900ff4 chore: sync vendored Comfy Router spec from cloud@9794097
  • 1d27077 fix: land the cloud@9794097 Router spec sync (format, retire QueueBacklogFull lead)
  • ea8ce02 test(parity): name queue_backlog_full among the retired router-error leads

📊 Changes

4 files changed (+17 additions, -26 deletions)

View changed files

📝 parity/python-surface.json (+6 -3)
📝 spec/router-openapi.yaml (+8 -4)
📝 src/sdk/routerErrors.ts (+0 -6)
📝 src/sdk/surface-parity.test.ts (+3 -13)

📄 Description

Summary

Lands the Router spec sync from #208 (cloud@9794097) along with the follow-up it needs. #208's rolling sync branch must not take commits: a hand-written commit on it is exactly what made the cloud push workflow refuse to update it today. So the follow-up goes on this branch instead. The branch merges #208's commit unchanged and adds one commit:

  • Formatting: spec/router-openapi.yaml run through oxfmt. The parsed content is identical to the bot's; the sync writes the file unformatted, which fails pnpm format:check before any test runs.
  • Parity snapshot: parity/python-surface.json refreshed. The Python SDK now ships QueueBacklogFull (comfy-python-sdk#201), so the queue-backlog-bucket-lands-first-in-typescript lead's rot guard fires. The entry is deleted, along with the routerErrors.ts note that pointed at it. Seven asymmetries remain, matching AGENTS.md.

What the sync itself changes: the estimate route's descriptions are reworded, and the queued-submit response gains an optional estimate field. No SDK code has to change to land the sync. comfy.models.submit() does not return the new estimate yet. Exposing it is an API-shape decision that also needs the Python twin, so it is deferred to a follow-up rather than added here.

A review round also updated the routerErrorClassesAheadOfPython doc comment in surface-parity.test.ts to list queue_backlog_full among the retired leads.

Once this lands, #208 has nothing left to add.

ELI5

The bot copied in a new version of the Router API description but saved the file unformatted, so CI failed before it ran any tests. This PR formats the file. It also removes a "TypeScript has this error class first" note, because the Python SDK now has the class too.

Provenance

Verified:

  • On head ea8ce02 (based on current main): pnpm lint, pnpm format:check, pnpm typecheck, pnpm check:spec-drift and pnpm test (789 passed, 5 skipped) all pass.
  • node scripts/sync-python-surface.mjs: OK against comfy-python-sdk@main, with no snapshot diff.
  • The parsed YAML of spec/router-openapi.yaml is identical to the bot's sync commit a900ff4. The only change on this branch is formatting.

Deviations:

  • Not done here: the queued-submit estimate is in the vendored contract but not surfaced by submit(). That work is deferred to a follow-up.
  • Not done here: contract wording issues (the replay-header guarantee vs. the omitted estimate) have to be fixed upstream, not in the vendored spec.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-typescript-sdk/pull/209 **Author:** [@mattmillerai](https://github.com/mattmillerai) **Created:** 10/9/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `matt/land-router-spec-sync-9794097` --- ### 📝 Commits (3) - [`a900ff4`](https://github.com/Comfy-Org/comfy-typescript-sdk/commit/a900ff466352a85be2424c6acfc9a3233a7d7fad) chore: sync vendored Comfy Router spec from cloud@9794097 - [`1d27077`](https://github.com/Comfy-Org/comfy-typescript-sdk/commit/1d270770e15b0165e1170a63ff402cad4ae7d479) fix: land the cloud@9794097 Router spec sync (format, retire QueueBacklogFull lead) - [`ea8ce02`](https://github.com/Comfy-Org/comfy-typescript-sdk/commit/ea8ce026174d1bc941a625a752c0c53b11458847) test(parity): name queue_backlog_full among the retired router-error leads ### 📊 Changes **4 files changed** (+17 additions, -26 deletions) <details> <summary>View changed files</summary> 📝 `parity/python-surface.json` (+6 -3) 📝 `spec/router-openapi.yaml` (+8 -4) 📝 `src/sdk/routerErrors.ts` (+0 -6) 📝 `src/sdk/surface-parity.test.ts` (+3 -13) </details> ### 📄 Description ## Summary Lands the Router spec sync from #208 (`cloud@9794097`) along with the follow-up it needs. #208's rolling sync branch must not take commits: a hand-written commit on it is exactly what made the cloud push workflow refuse to update it today. So the follow-up goes on this branch instead. The branch merges #208's commit unchanged and adds one commit: - **Formatting:** `spec/router-openapi.yaml` run through oxfmt. The parsed content is identical to the bot's; the sync writes the file unformatted, which fails `pnpm format:check` before any test runs. - **Parity snapshot:** `parity/python-surface.json` refreshed. The Python SDK now ships `QueueBacklogFull` (comfy-python-sdk#201), so the `queue-backlog-bucket-lands-first-in-typescript` lead's rot guard fires. The entry is deleted, along with the `routerErrors.ts` note that pointed at it. Seven asymmetries remain, matching AGENTS.md. What the sync itself changes: the `estimate` route's descriptions are reworded, and the queued-submit response gains an optional `estimate` field. No SDK code has to change to land the sync. `comfy.models.submit()` does not return the new `estimate` yet. Exposing it is an API-shape decision that also needs the Python twin, so it is deferred to a follow-up rather than added here. A review round also updated the `routerErrorClassesAheadOfPython` doc comment in `surface-parity.test.ts` to list `queue_backlog_full` among the retired leads. Once this lands, #208 has nothing left to add. ## ELI5 The bot copied in a new version of the Router API description but saved the file unformatted, so CI failed before it ran any tests. This PR formats the file. It also removes a "TypeScript has this error class first" note, because the Python SDK now has the class too. ## Provenance **Verified:** - On head `ea8ce02` (based on current `main`): `pnpm lint`, `pnpm format:check`, `pnpm typecheck`, `pnpm check:spec-drift` and `pnpm test` (789 passed, 5 skipped) all pass. - `node scripts/sync-python-surface.mjs`: OK against `comfy-python-sdk@main`, with no snapshot diff. - The parsed YAML of `spec/router-openapi.yaml` is identical to the bot's sync commit a900ff4. The only change on this branch is formatting. **Deviations:** - Not done here: the queued-submit `estimate` is in the vendored contract but not surfaced by `submit()`. That work is deferred to a follow-up. - Not done here: contract wording issues (the replay-header guarantee vs. the omitted `estimate`) have to be fixed upstream, not in the vendored spec. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
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
Comfy-Org/comfy-typescript-sdk#207
No description provided.