0004 String answers, slots and three scoring rules
- Status: accepted (2026-10-29)
Decision
Section titled “Decision”- Answers on the wire are
Record<slotId, string>; flags are"true". Any language can store and grade them. - Components produce slots of registered kinds (
text,number,choice,flag, or your own); each graded component is one scoring group with ruleall-correct,per-slotorproportional(exact, not rounded). all-correctgroups with several slots report only the group verdict, so feedback cannot be used to probe which part is wrong. Unselected flags get no verdict; a group with nothing selected isempty.- Text comparison profiles are stored inside each key, so a published key grades the same forever.
Consequences
Section titled “Consequences”The grading contract is small enough to port (about 200 lines) and is pinned by conformance fixtures.
- Amended 2026-10-30: a definition may grade its component in parts (
groups(), a crossword's words), one group per part with the component's rule and points, where a slot may sit in several groups; keys keep their format, so any engine grades them. The built-inletterkind (one letter, in capitals of the content language) joins the slot kinds.