@graffiticode/l0175 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/compiler.d.ts +12 -0
  2. package/dist/compiler.d.ts.map +1 -0
  3. package/dist/compiler.js +1285 -0
  4. package/dist/compiler.js.map +1 -0
  5. package/dist/embedding.d.ts +64 -0
  6. package/dist/embedding.d.ts.map +1 -0
  7. package/dist/embedding.js +294 -0
  8. package/dist/embedding.js.map +1 -0
  9. package/dist/index.d.ts +7 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +8 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/lexicon.d.ts +644 -0
  14. package/dist/lexicon.d.ts.map +1 -0
  15. package/dist/lexicon.js +101 -0
  16. package/dist/lexicon.js.map +1 -0
  17. package/dist/static/instructions.md +527 -0
  18. package/dist/static/language-info.json +85 -0
  19. package/dist/static/lexicon.json +1112 -0
  20. package/dist/static/schema.json +162 -0
  21. package/dist/static/scope.json +28 -0
  22. package/dist/static/spec.html +572 -0
  23. package/dist/static/stems.md +374 -0
  24. package/dist/static/template.gc +67 -0
  25. package/dist/static/usage-guide.md +111 -0
  26. package/package.json +33 -0
  27. package/spec/README.md +18 -0
  28. package/spec/data/examples.gc +84 -0
  29. package/spec/data/examples_with_explanations.md +124 -0
  30. package/spec/data/training_examples.json +122 -0
  31. package/spec/docs.md +102 -0
  32. package/spec/examples.md +91 -0
  33. package/spec/instructions.md +337 -0
  34. package/spec/language-info.json +78 -0
  35. package/spec/schema.json +162 -0
  36. package/spec/scope.json +28 -0
  37. package/spec/spec.md +277 -0
  38. package/spec/stems.md +374 -0
  39. package/spec/template.gc +67 -0
  40. package/spec/unparse-hints.json +3 -0
  41. package/spec/usage-guide.md +111 -0
@@ -0,0 +1,162 @@
1
+ {
2
+ "revised": "2026-06-18",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "$id": "L0175",
5
+ "title": "L0175",
6
+ "description": "Output of an L0175 program — a composed ELA assessment item, or a set of items (one per outcome).",
7
+ "oneOf": [{ "$ref": "#/$defs/item" }, { "$ref": "#/$defs/items" }],
8
+ "$defs": {
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "kind": { "const": "items" },
13
+ "title": { "type": "string" },
14
+ "grade": { "type": "number" },
15
+ "items": { "type": "array", "items": { "$ref": "#/$defs/item" } }
16
+ },
17
+ "required": ["kind", "items"]
18
+ },
19
+ "item": {
20
+ "type": "object",
21
+ "properties": {
22
+ "kind": { "const": "item" },
23
+ "id": { "type": "string" },
24
+ "title": { "type": "string" },
25
+ "grade": { "type": "number" },
26
+ "type": { "type": "string", "enum": ["ebsr", "hot-text", "short-text", "multiple-choice", "multi-select"] },
27
+ "standards": { "type": "array", "items": { "type": "string" } },
28
+ "dok": { "type": "string" },
29
+ "dimension": { "type": "string" },
30
+ "passage": {
31
+ "type": "object",
32
+ "properties": {
33
+ "id": { "type": "string" },
34
+ "heading": { "type": "string" },
35
+ "type": { "type": "string", "enum": ["literary", "informational"] },
36
+ "lines": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": { "id": { "type": "number" }, "text": { "type": "string" } }
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "passages": { "type": ["object", "null"] },
46
+ "stem": {
47
+ "type": "object",
48
+ "properties": {
49
+ "partA": { "type": "string" },
50
+ "partB": { "type": "string" },
51
+ "leadIn": { "type": "string" }
52
+ }
53
+ },
54
+ "partA": { "$ref": "#/$defs/optionGroup" },
55
+ "partB": { "$ref": "#/$defs/optionGroup" },
56
+ "choice": { "$ref": "#/$defs/optionGroup" },
57
+ "selectable": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "object",
61
+ "properties": {
62
+ "id": { "type": "string" },
63
+ "lineId": { "type": "number" },
64
+ "sentence": { "type": "number" },
65
+ "text": { "type": "string" },
66
+ "correct": { "type": "boolean" }
67
+ }
68
+ }
69
+ },
70
+ "selectCount": { "type": "number" },
71
+ "word": {
72
+ "type": "object",
73
+ "description": "T10 Word Meanings: the targeted word + its context",
74
+ "properties": {
75
+ "text": { "type": "string" },
76
+ "line": { "type": "number" },
77
+ "quote": { "type": "string" }
78
+ }
79
+ },
80
+ "wordSelect": {
81
+ "type": "object",
82
+ "description": "T10 click-the-word (TM3): the excerpt tokenized; selectable candidate words, one correct",
83
+ "properties": {
84
+ "excerpt": { "type": "string" },
85
+ "tokens": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "properties": {
90
+ "idx": { "type": "number" },
91
+ "pre": { "type": "string" },
92
+ "text": { "type": "string" },
93
+ "post": { "type": "string" },
94
+ "selectable": { "type": "boolean" },
95
+ "correct": { "type": "boolean" }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ },
101
+ "prompt": { "type": "string" },
102
+ "rubric": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "properties": { "score": { "type": "number" }, "descriptor": { "type": "string" } }
107
+ }
108
+ },
109
+ "distractorAnalysis": {
110
+ "type": "array",
111
+ "items": {
112
+ "type": "object",
113
+ "properties": {
114
+ "part": { "type": "string", "enum": ["A", "B"] },
115
+ "key": { "type": "string" },
116
+ "claimId": { "type": "string" },
117
+ "sourceId": { "type": "string" },
118
+ "meaningId": { "type": "string" },
119
+ "errorType": { "type": "string" },
120
+ "status": { "type": "string" },
121
+ "tiesTo": {},
122
+ "plausibility": { "type": "number", "description": "0..1 temptingness of the foil (author override or computed)" },
123
+ "rationale": { "type": "string" }
124
+ }
125
+ }
126
+ },
127
+ "answerKey": {
128
+ "type": "object",
129
+ "properties": {
130
+ "partA": { "type": "string" },
131
+ "partB": { "type": "string" },
132
+ "choice": { "type": "string" },
133
+ "choices": { "type": "array", "items": { "type": "string" } },
134
+ "word": { "type": "string" },
135
+ "rationale": { "type": "string" }
136
+ }
137
+ },
138
+ "review": { "type": "object" },
139
+ "warnings": { "type": "array", "items": { "type": "string" } }
140
+ },
141
+ "required": ["kind", "type", "passage", "standards", "dok", "dimension", "warnings"]
142
+ },
143
+ "optionGroup": {
144
+ "type": "object",
145
+ "properties": {
146
+ "options": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "properties": {
151
+ "key": { "type": "string" },
152
+ "text": { "type": "string" },
153
+ "line": { "type": "number" },
154
+ "correct": { "type": "boolean" }
155
+ },
156
+ "required": ["key", "correct"]
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "revised": "2026-06-24",
3
+ "id": "0175",
4
+ "summary": "Composes 5th-grade ELA assessment items (Smarter Balanced · Grade 5 · Claim 1) for multiple learning targets selected by a top-level `target`: c1-t4 (Reasoning & Evidence, literary, RL), c1-t11 (Reasoning & Evidence, informational, RI), c1-t9 (Central Ideas, informational, RI-1/RI-2), c1-t8 (Key Details, informational, RI-1/RI-7 — the inference is given and the student selects supporting evidence), and c1-t10 (Word Meanings, informational, RI-4/L-4 — the meaning of a targeted word, options authored as word/meaning) — different reading skills. Item-first: each authored question pins its correct answer(s) (focus) and its stem, and the compiler draws the wrong answers from the foils (distractor claims, non-supporting sources, or distractor meanings) bound to it.",
5
+ "in_scope": [
6
+ "A required top-level target: c1-t4 (literary, R&E), c1-t11 (informational, R&E), c1-t9 (informational, Central Ideas), c1-t8 (informational, Key Details), or c1-t10 (informational, Word Meanings), selecting the dimension/standard/error-type/DOK/item-type/stem vocabulary",
7
+ "A single passage with numbered lines",
8
+ "Questions (outcomes) authored first, each with a unique id, a focus correct claim (a list on multi-select), and a stem from the target's guideline catalog; distractors bound to questions via targets",
9
+ "A content graph: supported and distractor claims, plus evidence sources tagged directly-supports / supports-wrong-claim / irrelevant",
10
+ "c1-t4 dimensions: character, setting, event, point-of-view, theme, topic, narrators-feelings, character-relationship",
11
+ "c1-t11 dimensions: relationships-interactions, author-use-of-information, point-of-view, purpose, authors-opinion",
12
+ "c1-t9 (Central Ideas) dimensions: central-idea, key-detail, summary",
13
+ "c1-t8 (Key Details) dimension: supporting-evidence — the inference is given in the stem and the student selects supporting evidence (options are sources, not claims)",
14
+ "c1-t10 (Word Meanings) dimension: word-meaning — the question asks the meaning of a targeted word/phrase; options are meanings authored as word/meaning (not claims)",
15
+ "Item types: ebsr (two-part selected response), hot-text (select text — sentence-level for R&E/Central-Ideas/Key Details, word-level click-the-word for Word Meanings), short-text (constructed response), multiple-choice (one correct), multi-select (exact correct set); the allowed set is per-target",
16
+ "Authored, error-typed distractors — R&E: misreads-detail / erroneous-inference / faulty-reasoning; Central Ideas (c1-t9): too-narrow / too-broad / misreads-detail / insignificant; Key Details (c1-t8): non-supporting sources (supports-wrong-claim / irrelevant), not distractor claims; Word Meanings (c1-t10): distractor meanings other-meaning / misinterprets / wrong-context — with rationales",
17
+ "Standards rl-1/rl-3/rl-6/rl-9 (c1-t4), ri-1/ri-3/ri-6/ri-7/ri-8/ri-9 (c1-t11), ri-1/ri-2 (c1-t9), ri-1/ri-7 (c1-t8), ri-4/l-4/l-4a/l-4b/l-4c/l-5c (c1-t10); DOK r-dok1..r-dok3 (R&E r-dok3; T9 r-dok2, written summary r-dok3; T8 & T10 r-dok2)",
18
+ "A reading-level target set by the guideline/target's grade (Grade 5 for c1-t4/c1-t11), overridable by an optional top-level `grade`; the compiler estimates the passage's reading level and warns when it runs above the target grade"
19
+ ],
20
+ "out_of_scope": [
21
+ "Claims, grades, or Claim-1 targets beyond T4, T11, T9, T8, and T10 — other Claim-1 targets belong in their own dialects",
22
+ "Multi-word-phrase candidates in c1-t10 click-the-word (single words only this version)",
23
+ "Dual-text stimuli (a single passage only in this version)",
24
+ "Compile-time LLM generation — the compiler selects and validates authored content, it does not invent it",
25
+ "Auto-scoring of short-text responses — they are hand-scored against the emitted rubric",
26
+ "Cross-language composition via import — each item runs in exactly one dialect"
27
+ ]
28
+ }