Configure task output contracts in the workflow editor - #17
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Model tasks can now declare an answer format, byte and line limits, answer instructions, and an optional JSON schema in the workflow editor. Saved plans retain these fields and their authored local definitions/references, so editing a workflow created by the SDK preserves its contract. Controls and saves follow the server’s advertised capabilities.
Malformed schema drafts block saving while remaining visible. Drafts stay attached to the same task through renaming and removal of another task; unsaved drafts also block starting a saved plan and trigger the existing discard check. The browser refuses duplicate keys, unsafe integers, and draft numbers that round or underflow. The native server remains responsible for schema semantics and final answer validation.
Validation: 476 tests; strict TypeScript, production build and packaged asset checks pass. Two actual packaged-console→native HTTP/encrypted journal journeys pass at desktop and390px mobile widths, covering invalid drafts, selected models, save/read fidelity, valid and invalid answers, process restart without extra inference, task renaming/removal and discard cancellation. Screenshots visually checked. Requires native PR78 for server execution; older hosts retain their current editor.