Repository navigation
improvement(workflows): lint the manual-run entry check and surface lint findings in apply warnings - #9638
Conversation
…int findings in apply warnings
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryShares the editor’s manual-run entry check with workflow lint and adds lint summaries to apply warnings.
|
There was a problem hiding this comment.
All reported issues were addressed across 19 files
Reply with feedback, questions, or to request a fix.
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.
All reported issues were addressed across 19 files
Reply with feedback, questions, or to request a fix.
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. |
Summary
use-workflow-executioninto one pureresolveManualRunEntryinlib/workflows/triggers/manual-run.ts. The hook calls it with the same messages, order, and execution teardown, so the Run button behaves the samelint.manualRunIssue(reason,message, trigger block ref, ornull). It is advisory like every lint finding and never blocks a write or deploy. A webhook or schedule workflow that is wired correctly gets no finding, because a manual run accepts it with a mock payload. A workflow only a chat trigger can start is exempt, and an empty graph keeps its existing notehasWorkflowLintIssues/formatWorkflowLintMessageinclude the new finding. That meanssim workflows lintand deploy lint see it tooPOST /api/v2/workflows/{id}/operations(committed and dry run) now adds theformatWorkflowLintMessagesummary towarnings[]whenever lint has findings. An agent that projects the response down towarningsno longer loses the findingsselectBestTriggergrouping logs from info to debug, since lint now runs them on graph writesConsumers of the apply result
applyWorkflowOperations; its presenter passeswarningsthrough as before. The CLI prints the response as it comes. No UI reads this resultlint, and it never matches the normalization warnings already in the array. The result never carries it twicelintalready returns. Growth is bounded by the graph and scales with the existinglintpayloadPUT /stateand deploy still return findings only underlint(theirwarningskeep their current meaning)Type of Change
Testing
lint-report.test.ts: new manual-run cases. Reported: unconnected trigger, no trigger, disabled trigger, two API triggers. Not reported: connected start/webhook/schedule, legacy starter, chat-only, empty graph. All failed with the fix reverted. Separately, removing only the chat exemption turns the chat-only case redapply-workflow-operations.test.ts: the lint summary appears inwarningson commit and on dry run, and nothing is added when lint is clean. Red with the fix revertedbun run lint,check:openapi,check:cli-api,check:mcp-operations,check:boundaries,check:client-boundary,check:utils,check:comment-hygiene,check:test-patterns,check:explicit-any,check:file-names,check:source-conventions,check:import-specifiers,check:api-validation. CI is the gate for the restChecklist
test-auditauthoring gate)