-
Notifications
You must be signed in to change notification settings - Fork 1
Quest Definition Schema Version 3.0.0 #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Scope: Update Long Form Quest Definition JSON Schema to 3.0.0 version with support for new
Multiple |
…ype. Added new quest types Multiplechoice, Textentry. Added new definition 'dependency'. Updated schema to not allow additional Properties(helps in validation)
|
Flagging an issue: What is currently: Should be: This change flips the logic, so that |
|
I'd also like us to add to this an improved Starting at 1XX, each Example:
|
6dda653 to
ddccf79
Compare
@uw-amy-bordenave No worries. I popped those two commits off of this branch. |
cyrossignol
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues stand out to me aside from the reversed logic that @uw-amy-bordenave already brought up!
docs/quest-definition/schema.json
Outdated
| "if": { | ||
| "properties": { "quest_type": { "const": "TextEntry" } } | ||
| }, | ||
| "else": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plugging in @uw-amy-bordenave's comment.
| "1", | ||
| "2" | ||
| ] | ||
| "required_value": ["1", "2"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you get more into GitHub, here's a friendly PR etiquette tip: I'd avoid mixing cosmetic and content changes in the same PR. The noisy diffs may divert attention from the "meat" of the PR. Good PRs usually have a narrow focus/scope.
In this case, I'm also a little worried that someone may inadvertently reverse the changes with some automated formatting tool—some editors run these automatically these days.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the heads up and the best-practices tip :)
In this case, that's exactly what happened - ran the Prettier formatter in VS Code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may want to check in that Prettier config to this repo so tools don't fight with each other over formatting.
Thanks. Completed these in #29. |
Flips the implementation logic so that `quest_answer_choices` is only required for `ExclusiveChoice` and `MultipleChoice`, rather than exempting only `TextEntry`
|
Reflect rebranded app name
Include mention of applicability to new `MultipleChoice` quest type
Hint at suggested numbering approach (101, 102, 201, 202, 301, 302, ...)
|
Disregard #25 (comment), we are holding off on redefining the Short-term, as these continue to be created manually, the Long-term, we'll want to use descriptive Reviewed on call by @uw-amy-bordenave and @cyrossignol on 2025-09-23 @iamrajeshk Ready for final review from you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. @uw-amy-bordenave Please merge it.
Initial commit with added support for multiple quest answer dependencies.
Summary, generated by Claude 4.0:
Comparing schema-2.0.0.json with schema-3.0.0.json, here are the key changes:
Main Changes:
1. Schema Version Updated
"2.0.0"to"3.0.0"2. Complete Overhaul of
quest_answer_dependencyIn schema-2.0.0.json:
requiredproperties definedIn schema-3.0.0.json:
oneOfstructureSummary:
The primary change is that schema-3.0.0.json enables multiple dependency conditions while schema-2.0.0.json only allowed a single dependency. This is a significant functional enhancement that allows questions to depend on multiple other questions simultaneously, with all conditions needing to be satisfied (AND logic).