Skip to content

Improve input type errors with consumer annotations - #1768

Open
YashAnand69 wants to merge 1 commit into
apache:mainfrom
YashAnand69:fix/1180-input-type-error-context
Open

YashAnand69 wants to merge 1 commit into
apache:mainfrom
YashAnand69:fix/1180-input-type-error-context

Conversation

@YashAnand69

Copy link
Copy Markdown

When an external input has consumers with different compatible annotations, the runtime type error only reports the merged input type. Include each consuming node and its declared annotation so the source of that expectation can be traced.

Related #1180.

Changes

Append deterministic consumer names and annotations to an existing input-type mismatch error. Successful execution and validation decisions are unchanged.

How I tested this

  • Two real Builder/Driver regressions, ordinary and dynamic execution: fail before the change and pass afterward. They also check that invalid inputs execute no user functions and valid objects still execute successfully.
  • Driver, type-utils and node tests: 230 passed.
  • Pinned pre-commit hooks on both changed files passed.
  • Independent agent review checked consumer ordering and a permissive custom validation adapter.

A broader graph-inclusive run had 335 passes and five failures because the native Graphviz dot executable is unavailable locally; those rendering checks are not claimed to pass.

Notes

This addresses the diagnostic improvement proposed in the issue. It does not change merged-type selection: the original example can accept an invalid value depending on function discovery order. It also does not change visualization or internal-node runtime validation.

Codex assisted with investigation, implementation, tests and independent agent review.

Checklist

  • PR has an informative and human-readable title
  • Changes are limited to a single goal
  • Code passed the pre-commit check
  • Changed functionality is tested
  • No new public functions or placeholder code
  • No API or documentation behavior change; error context only

Show each consuming node and its declared input annotation when runtime input validation fails. Preserve validation and execution behavior.

Assisted-by: OpenAI Codex

This branch has not been deployed

No deployments
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.

1 participant