Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions paths/evaluate/evaluate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@
- criterionId: "crit-1"
name: "Correctness"
context: "The explanation of polymorphism is conceptually correct."
maxPoints: 10

Check warning on line 105 in paths/evaluate/evaluate.yml

View workflow job for this annotation

GitHub Actions / Lint / Lint

no-invalid-media-type-examples

Example value must conform to the schema: `0` property must NOT have unevaluated properties `maxPoints`.
- criterionId: "crit-2"
name: "Clarity"
context: "The explanation is clear, well-structured, and easy to understand."
maxPoints: 5

Check warning on line 109 in paths/evaluate/evaluate.yml

View workflow job for this annotation

GitHub Actions / Lint / Lint

no-invalid-media-type-examples

Example value must conform to the schema: `1` property must NOT have unevaluated properties `maxPoints`.
preSubmissionFeedback:
enabled: false
configuration:
Expand Down Expand Up @@ -366,6 +366,28 @@
- feedbackId: "fb-2"
title: "Overall structure"
message: "The overall structure of your answer is clear and easy to follow."
mathExampleResponse:
summary: Example feedback response for a MATH submission with case matching
value:
- feedbackId: "fb-math-1"
title: "Correct, matched expected case"
message: "Your answer matches the expected simplified form."
awardedPoints: 3
response:
latex: "x+y"
sympy: "x + y"
matchedCase: 0
target:
artefactType: "MATH"
format: "latex"

Check warning on line 382 in paths/evaluate/evaluate.yml

View workflow job for this annotation

GitHub Actions / Lint / Lint

no-invalid-media-type-examples

Example value must conform to the schema: `format` property must match pattern "^(text|code|math|model|other):[a-z0-9_]+$".
- feedbackId: "fb-math-2"
title: "No matching case"
message: "We parsed your answer but it didn't match any of the known cases."
awardedPoints: 0
response:
latex: "x-y"
sympy: "x - y"
matchedCase: null
"202":
$ref: "./responses/202-Accepted.yml"
"400":
Expand Down
4 changes: 3 additions & 1 deletion paths/evaluate/schemas/EvaluateRequest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ properties:
preSubmissionFeedback:
description: >
Optional settings for pre-submission feedback (non-final). When enabled,
the service should avoid committing or finalizing grades.
the service should avoid committing or finalizing grades. The resulting
preview content is returned via the response Feedback items' `response`
field.
type:
- object
- "null"
Expand Down
28 changes: 26 additions & 2 deletions paths/evaluate/schemas/Feedback.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
type: object
description: >
A single feedback item produced for the submission. It may include
suggested actions, optional points, optional criterion linkage, and
optional targeting into the submission.
suggested actions, optional points, optional criterion linkage, optional
targeting into the submission, optional normalized representation(s) of
the submission, and an optional matched-case index.
properties:
feedbackId:
type: string
Expand Down Expand Up @@ -42,3 +43,26 @@ properties:
description: Optional target reference inside the submission.
allOf:
- $ref: "./FeedbackTarget.yml"
response:
type:
- object
- "null"
description: >
Optional normalized representation(s) of the submission as interpreted
by the service (e.g., a parsed or simplified rendering), keyed by
format — for example { latex: "x+y", sympy: "x + y" }. Also used to
carry pre-submission preview content when the request's
preSubmissionFeedback.enabled was set to true.
allOf:
- $ref: "../../shared/schemas/FormattedContent.yml"
matchedCase:
type:
- integer
- "null"
format: int32
description: >
Optional index into a service-defined list of matching cases (e.g., a
Lambda Feedback-style "cases" list supplied under the request's
configuration object), when the service supports such a mechanism.
Null if no case matched. This is a provider-specific convention and is
not a formally defined construct in this spec.
6 changes: 5 additions & 1 deletion paths/evaluate/schemas/PreSubmissionFeedback.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
type: object
description: Optional configuration for pre-submission feedback runs.
description: >
Optional configuration for pre-submission feedback runs. This only toggles
the mode; the actual preview content (e.g., normalized representations of
the submission) is returned in the /evaluate response, via each feedback
item's `response` field (see Feedback.yml) — not on this schema.
required:
- enabled
additionalProperties: true
Expand Down
9 changes: 9 additions & 0 deletions paths/shared/schemas/FormattedContent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
type:
- object
- "null"
description: >
A set of representations of the same underlying content, keyed by an
arbitrary format id (e.g. "latex", "sympy", "formatted", "ast"). The
set of keys is service-defined and not enumerated by this spec.
additionalProperties:
type: string
Loading