-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Timeboxed to 10 hours
Design a way for participants to declare which fields and parameters they expect in their workitems, as well as constraints on their values (such as type, element type, string-matches-regexp, string-in-enum, that kind of thing).
Design considerations:
- The declarations should be in the participants, so that people will
actually update them as the participant changes - The Exo should guarantee that the constraints are met before the
participant gets the workitem. - The declarations should be passive data structures, so that they
can be processed without running participant-specific code. - The syntax should support concepts like "integer as string" and
"list as string" because ruote often passes stringified parameters
like that.
Possibilities:
- Declaring optional parameters may be useful for documentation,
and allows typechecking on those parameters - Declaring output fields may be helpful in the future for
automated checking of compatibility between participants - It may be possible to generate documentation from these declarations,
but don't let that complicate the basic design. - Alternately, it may be possible parse the declarations from the docstring.
The output of this task should be a document describing the
syntax and suggested implementation, ready for discussion.
Metadata
Metadata
Assignees
Labels
No labels