Skip to content

fix(workflow-executor): coerce update-record value to field type, support boolean and arrays#1612

Open
Tonours wants to merge 2 commits into
feat/prd-214-server-step-mapperfrom
fix/prd-408-executor-update-coercion
Open

fix(workflow-executor): coerce update-record value to field type, support boolean and arrays#1612
Tonours wants to merge 2 commits into
feat/prd-214-server-step-mapperfrom
fix/prd-408-executor-update-coercion

Conversation

@Tonours
Copy link
Copy Markdown
Member

@Tonours Tonours commented May 29, 2026

PRD-408

Definition of Done

General

  • Write an explicit title for the Pull Request, following Conventional Commits specification
  • Test manually the implemented changes
  • Validate the code quality (indentation, syntax, style, simplicity, readability)

Security

  • Consider the security impact of the changes made

@linear
Copy link
Copy Markdown

linear Bot commented May 29, 2026

PRD-408

@qltysh
Copy link
Copy Markdown

qltysh Bot commented May 29, 2026

Qlty


Coverage Impact

This PR will not change total coverage.

Modified Files with Diff Coverage (1)

RatingFile% DiffUncovered Line #s
Coverage rating: A Coverage rating: A
...workflow-executor/src/executors/update-record-step-executor.ts100.0%
Total100.0%
🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

Comment on lines +10 to +14
// User may override the AI-proposed value with any field type (boolean, array, etc.).
// The business type is validated/coerced field-aware in the update-record step executor
// (buildZodSchemaForField), so the HTTP schema stays a shape guard only — aligned with
// `actionResult` below.
value: z.unknown().optional(),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

your frontend PR ensure only string or number is sent

Copy link
Copy Markdown
Member

@EnkiP EnkiP May 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm ok to leave the executor more permissive, it will allow future changes more easily. But you can remove the coms

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants