Skip to content

notify node form descriptor still says "Requires sourceId." / "Requires sourceObject." — the Studio form face of the #7085 describe drift #7112

Description

@os-project-manager

Out-of-scope finding from the #7084/#7085 sweep pack (PR #7111). Recorded unassigned — a different card class (form-descriptor face, service-automation), explicitly fenced out of that PR's scope.

Anchor

packages/services/service-automation/src/builtin/notify-node.ts:166 and :170 (measured on origin/main @ f5a9bc2f3), the hand-written configSchema literal that drives the Studio form:

description: 'Object name of the record the notification links to (writes sys_notification.source_object). Requires sourceId.',
...
description: 'Record id the notification links to (writes sys_notification.source_id). Requires sourceObject. The inbox synthesizes a `/{object}/{id}` deep-link from these.',

Why it is the same defect as #7085, on a different face

#7085 fixed the spec Zod .describe() strings (PR #7111): the schema deliberately accepts the half pair and the executor DROPS a half-specified click-through target at execute time (the module JSDoc's recorded contract in io-node-config.zod.ts), so "Requires ..." was a phantom requirement. The descriptor literal carries the same phantom "Requires ..." wording and reaches a different reader — the Studio form author — where it is just as wrong: a half pair saves green, publishes green, and the link silently never renders (#2675's invisible-failure shape).

Why PR #7111 did not sweep it

Suggested shape

Align the two descriptor description strings with the vocabulary PR #7111 borrowed from the module JSDoc ("Only takes effect together with sourceId — a half-specified click-through target is dropped at execute time, so the inbox never renders a dead link."), keeping the descriptor's extra deep-link sentence if wanted. String-only; no key/type/required change, so the form-Zod key-set ledger is untouched.

Refs

#7085 (the spec-face fix, PR #7111), #6762 (class specimen), #2675 (pair-only click-through), #4045 (form/Zod provenance split).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions