Repository navigation
feat(api): failing block on polled runs, deployed input schema, paused-runs list, and applied limits - #9906
Conversation
…ed-run list, and applied run limits
- GET /v2/workflows/{id}/runs/{runId} reads the failing block back from the run's
recorded trace, withheld when the viewer's permission group hides execution data
- GET /v2/workflows/{id} adds inputSchema for the active deployment's API run input
- GET /v2/workflows/runs/paused lists a workspace's runs waiting on human input,
projecting pause points exactly as the run detail does
- Execute responses report executionTimeoutSeconds; GET /v2/billing/status adds plan limits
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
[Medium impact] The PR appears safe to merge; no new actionable issue was found. SummaryAdds failing-block details to polled runs, deployed API input schemas, a workspace-wide paused-run list, and applied execution limits.
|
… pause points under the cap - CLI generator carries a numeric field's contract maximum; the pager never requests a page above it while still paging to the caller's total --limit - Pause point cap keeps points not yet resumed before resumed history, so a run that paused again is never listed without its waiting point (run detail and paused list)
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 44 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
… list point selection - A custom block is an opaque trace boundary for failing-block attribution - The paused-run list reads object and legacy array pause_points - The list selects waiting human points before the per-run cap, reads points in waves that stop once the page budget is spent, and shares one waiting predicate - Resume response schemas omit executionTimeoutSeconds - Drop a non-null assertion from the CLI page cap test
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 45 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…nd never fail a workflow read on its deployment - Failing-block attribution prefers the span the stored error names, else the failure that ended first, else none; the block error prefix has one owner - The workflow read degrades inputSchema to null when the deployment cannot be read or its schema has an unexpected shape - Integration cases for time-only, archived, and cross-workspace exclusion
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 45 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…red applied timeout, and ungated input schema - Failing-block attribution walks spans as hasUnhandledError does, through successful blocks, with one shared successful-boundary rule - An error message headed by the failing block's name is attributed to it even when the name reads as a run-level failure - executionTimeoutSeconds is required (nullable) on Execute workflow responses - The workflow read takes inputSchema from the active version row, not isDeployed - Pause cap wording: unresolved points are kept in preference, listed earliest first - Regenerate the CLI API the previous contract wording left stale
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 45 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
…s and regenerate the CLI API on staging - Stop-after and pinned-execute e2e scripts parse resume responses with v2ResumeWorkflowDataSchema, which omits executionTimeoutSeconds - Regenerate the CLI API against the merged staging contracts
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 47 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 47 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Summary
blockId/blockName/blockType,BLOCK_EXECUTION_FAILED/CHILD_WORKFLOW_FAILED), derived at read time from the trace the read already loads. No write-path change or migration. Withheld when the viewer's permission group hides trace spans; falls back toEXECUTION_FAILEDwhen the trace is missing or compacted.inputSchema: JSON Schema withrequiredfor what an API run of the active deployment accepts, built from the same start-block resolution the executor uses. Null when not deployed.inputs(draft) is unchanged.GET /api/v2/workflows/runs/paused?workspaceId=lists runs waiting on human input with their pause points. Pause-point gating is one shared projection used by both this list and Get workflow run, so the list never shows more than the single-run read. Keyset paged, at most 25 runs and 100 points per page. (/v2/logs?status=pauseddoesn't find these; they readpendingthere.)executionTimeoutSeconds, the timeout actually applied. Billing status adds read-only planlimits(max sync/async timeout, concurrency). Credits stay hidden from workspace keys; cost units unchanged.sim workflows runs paused.Test plan