@graffiticode/l0175 0.3.0 → 0.3.1

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 (48) hide show
  1. package/dist/compiler.d.ts.map +1 -1
  2. package/dist/compiler.js +44 -6
  3. package/dist/compiler.js.map +1 -1
  4. package/dist/embedding.d.ts.map +1 -1
  5. package/dist/embedding.js +73 -12
  6. package/dist/embedding.js.map +1 -1
  7. package/dist/lexicon.js +4 -4
  8. package/dist/lexicon.js.map +1 -1
  9. package/dist/static/examples.md +105 -0
  10. package/dist/static/instructions.md +238 -65
  11. package/dist/static/language-info.json +18 -3
  12. package/dist/static/lexicon.json +14 -0
  13. package/dist/static/scope.json +9 -8
  14. package/dist/static/spec.html +80 -15
  15. package/dist/static/stems.md +167 -5
  16. package/dist/static/targets.json +71 -1
  17. package/dist/static/usage-guide.md +29 -6
  18. package/dist/targets.d.ts +3 -1
  19. package/dist/targets.d.ts.map +1 -1
  20. package/dist/targets.js +87 -6
  21. package/dist/targets.js.map +1 -1
  22. package/package.json +2 -2
  23. package/spec/#template.gc# +20 -0
  24. package/spec/docs.md +49 -17
  25. package/spec/examples/c1-t1-tm1-multiplechoice.expect.json +1 -0
  26. package/spec/examples/c1-t1-tm1-multiplechoice.gc +27 -0
  27. package/spec/examples/c1-t1-tm2-multiselect.expect.json +1 -0
  28. package/spec/examples/c1-t1-tm2-multiselect.gc +27 -0
  29. package/spec/examples/c1-t1-tm3-hottext.expect.json +1 -0
  30. package/spec/examples/c1-t1-tm3-hottext.gc +27 -0
  31. package/spec/examples/c1-t2-tm1-multiplechoice.expect.json +1 -0
  32. package/spec/examples/c1-t2-tm1-multiplechoice.gc +29 -0
  33. package/spec/examples/c1-t2-tm2-multiselect.expect.json +1 -0
  34. package/spec/examples/c1-t2-tm2-multiselect.gc +28 -0
  35. package/spec/examples/c1-t2-tm3-ebsr.expect.json +1 -0
  36. package/spec/examples/c1-t2-tm3-ebsr.gc +29 -0
  37. package/spec/examples/c1-t2-tm4-hottext.expect.json +1 -0
  38. package/spec/examples/c1-t2-tm4-hottext.gc +19 -0
  39. package/spec/examples/c1-t2-tm5-shorttext.expect.json +1 -0
  40. package/spec/examples/c1-t2-tm5-shorttext.gc +20 -0
  41. package/spec/examples.md +100 -130
  42. package/spec/instructions.md +208 -62
  43. package/spec/language-info.json +17 -2
  44. package/spec/rag-examples-design.md +2 -2
  45. package/spec/scope.json +9 -8
  46. package/spec/spec.md +82 -15
  47. package/spec/stems.md +167 -5
  48. package/spec/usage-guide.md +29 -6
package/dist/targets.js CHANGED
@@ -16,7 +16,7 @@
16
16
  // than a raw `.json` import because core compiles to ESM under NodeNext, where JSON imports
17
17
  // need version-fragile import attributes; build-static serializes it to `dist/static/targets.json`
18
18
  // for non-TS consumers (the console RAG pipeline) and humans.
19
- export const TARGETS_REVISED = "2026-06-30";
19
+ export const TARGETS_REVISED = "2026-08-28";
20
20
  // CCSS Grade-5 reading-standard families. A target's `standards` is the full strand for its
21
21
  // text type, so any plausible CCSS code for that text type validates (the `dimStandard` map
22
22
  // still picks the right companion by default). RL.8 is "not applicable to literature";
@@ -26,6 +26,18 @@ export const STANDARD_FAMILIES = {
26
26
  RI_G5: ["ri-1", "ri-2", "ri-3", "ri-4", "ri-5", "ri-6", "ri-7", "ri-8", "ri-9"],
27
27
  L_G5: ["l-4", "l-4a", "l-4b", "l-4c", "l-5", "l-5a", "l-5b", "l-5c"], // vocabulary (T10)
28
28
  };
29
+ // Route a (skill, textType) pair to its target — the skill × text-type grid the docs present to
30
+ // the generator. `textType` may be omitted when a request names a skill but no genre; the literary
31
+ // target wins then, per the spec's "when the text type is ambiguous, prefer the literary target",
32
+ // falling back to the skill's only form (Word Meanings has no literary target).
33
+ export function targetForSkill(skill, textType) {
34
+ const all = Object.values(TARGETS_DATA).filter((d) => d.skill === skill);
35
+ if (!all.length)
36
+ return undefined;
37
+ if (textType)
38
+ return all.find((d) => d.textType === textType) ?? all[0];
39
+ return all.find((d) => d.textType === "literary") ?? all[0];
40
+ }
29
41
  // Reverse lookup: the task-model NUMBER for a (target, item type) — e.g. ("c1-t9", "ebsr") → "3",
30
42
  // ("c1-t4", "short-text") → "3". Item-type → task-model is per-target (the numbers collide), so the
31
43
  // target is required. Returns undefined if the target doesn't offer that item type. Used by the RAG
@@ -41,16 +53,25 @@ export function taskModelNumber(target, itemType) {
41
53
  // foils by reasoning failure; Central Ideas (T9) by SIGNIFICANCE (a true statement that just
42
54
  // isn't the central idea); Word Meanings (T10) by meaning error.
43
55
  const RE_ERROR_TYPES = ["misreads-detail", "erroneous-inference", "faulty-reasoning"];
44
- const T9_ERROR_TYPES = ["too-narrow", "too-broad", "misreads-detail", "insignificant"];
56
+ // Shared by BOTH Central Ideas targets (T9 informational, T2 literary): their guidelines describe
57
+ // the same two distractor failures — misinterpreting a detail, and misjudging the SIGNIFICANCE of
58
+ // ideas and details — which this taxonomy splits into a misread plus three significance errors.
59
+ const CENTRAL_IDEA_ERROR_TYPES = ["too-narrow", "too-broad", "misreads-detail", "insignificant"];
45
60
  // R&E (T4/T11) and the single-select families share task-model layouts.
46
61
  const RE_TASK_MODELS = { tm1: "ebsr", tm2: "hot-text", tm3: "short-text" };
47
62
  const SELECT_TASK_MODELS = { tm1: "multiple-choice", tm2: "multi-select", tm3: "hot-text" };
63
+ // Central Ideas (T9/T2) is the only family that offers all five item types, so its numbering
64
+ // reaches tm5. NOTE tm3 is EBSR here but hot-text in the SELECT_TASK_MODELS targets.
65
+ const CENTRAL_IDEA_TASK_MODELS = {
66
+ tm1: "multiple-choice", tm2: "multi-select", tm3: "ebsr", tm4: "hot-text", tm5: "short-text",
67
+ };
48
68
  export const TARGETS_DATA = {
49
69
  // Claim 1 · Target 4 — Reasoning & Evidence, literary texts (RL standards). The original L0175.
50
70
  "c1-t4": {
51
71
  id: "c1-t4",
52
72
  label: "Grade 5 · Claim 1 · Target 4 (Reasoning & Evidence)",
53
73
  grade: 5,
74
+ skill: "reasoning-evidence",
54
75
  textType: "literary",
55
76
  baseStandard: "rl-1",
56
77
  defaultDok: "r-dok3",
@@ -76,6 +97,7 @@ export const TARGETS_DATA = {
76
97
  id: "c1-t11",
77
98
  label: "Grade 5 · Claim 1 · Target 11 (Reasoning & Evidence)",
78
99
  grade: 5,
100
+ skill: "reasoning-evidence",
79
101
  textType: "informational",
80
102
  baseStandard: "ri-1",
81
103
  defaultDok: "r-dok3",
@@ -96,6 +118,39 @@ export const TARGETS_DATA = {
96
118
  "authors-opinion": "ri-8",
97
119
  },
98
120
  },
121
+ // Claim 1 · Target 2 — Central Ideas, LITERARY texts (RL-1 + RL-2). The literary twin of T9, and
122
+ // the only other target offering all five item types. Its own emphases, from the guideline:
123
+ // - THEME leads. RL-2 is "determine a theme of a story, drama, or poem from details in the
124
+ // text … summarize the text", so `theme` is a first-class dimension here, not a T4 borrowing.
125
+ // - SUMMARY IS SCOPED. "Items will not ask students to summarize the entire text; students will
126
+ // summarize a key event(s) or idea(s)." T9 has no such limit — this is the sharpest T2/T9
127
+ // difference and the docs must carry it.
128
+ // - `key-detail` covers the guideline's "key event(s) or idea(s)" — in a story the key details
129
+ // that build a theme are usually events, so they share one dimension rather than splitting a
130
+ // single skill across two tags the compiler treats identically.
131
+ // Every dimension answers to RL-2 (the theme/summarize standard); RL-1 is added as the base, so a
132
+ // composed item's standards is ["rl-1", "rl-2"] — exactly the guideline's pair.
133
+ "c1-t2": {
134
+ id: "c1-t2",
135
+ label: "Grade 5 · Claim 1 · Target 2 (Central Ideas)",
136
+ grade: 5,
137
+ skill: "central-ideas",
138
+ textType: "literary",
139
+ baseStandard: "rl-1",
140
+ defaultDok: "r-dok2", // tm5 short-text bumps to r-dok3 (dokFor), per the guideline
141
+ answerKind: "statement",
142
+ singlePartHotText: true, // T2 Hot Text (tm4): click the sentence(s) that show the theme
143
+ taskModels: CENTRAL_IDEA_TASK_MODELS,
144
+ standards: ["RL_G5"],
145
+ dimensions: ["theme", "central-idea", "key-detail", "summary"],
146
+ errorTypes: CENTRAL_IDEA_ERROR_TYPES,
147
+ dimStandard: {
148
+ "theme": "rl-2",
149
+ "central-idea": "rl-2",
150
+ "key-detail": "rl-2",
151
+ "summary": "rl-2",
152
+ },
153
+ },
99
154
  // Claim 1 · Target 9 — Central Ideas, informational texts (RI-1 + RI-2). A DIFFERENT skill from
100
155
  // Reasoning & Evidence: whole-text synthesis and significance (the main idea, the key details that
101
156
  // build it, and summary), DOK 2 (3 only for the written summary). Distractors are a SIGNIFICANCE
@@ -105,23 +160,47 @@ export const TARGETS_DATA = {
105
160
  id: "c1-t9",
106
161
  label: "Grade 5 · Claim 1 · Target 9 (Central Ideas)",
107
162
  grade: 5,
163
+ skill: "central-ideas",
108
164
  textType: "informational",
109
165
  baseStandard: "ri-1",
110
166
  defaultDok: "r-dok2",
111
167
  answerKind: "statement",
112
168
  singlePartHotText: true, // T9 Hot Text (tm4): click the sentence(s) that show the main idea
113
- taskModels: {
114
- tm1: "multiple-choice", tm2: "multi-select", tm3: "ebsr", tm4: "hot-text", tm5: "short-text",
115
- },
169
+ taskModels: CENTRAL_IDEA_TASK_MODELS,
116
170
  standards: ["RI_G5"],
117
171
  dimensions: ["central-idea", "key-detail", "summary"],
118
- errorTypes: T9_ERROR_TYPES,
172
+ errorTypes: CENTRAL_IDEA_ERROR_TYPES,
119
173
  dimStandard: {
120
174
  "central-idea": "ri-2",
121
175
  "key-detail": "ri-2",
122
176
  "summary": "ri-2",
123
177
  },
124
178
  },
179
+ // Claim 1 · Target 1 — Key Details, LITERARY texts (RL-1 only). The literary mirror of T8: the
180
+ // inference/conclusion is GIVEN in the stem and the student selects the supporting EVIDENCE
181
+ // (answerKind "evidence"), same three task models. Unlike T8 the guideline lists NO companion
182
+ // standard — RL-1 (quote accurately / draw inferences) is the whole of it, so `dimStandard` maps
183
+ // back to the base and an item's `standards` is just ["rl-1"]. Its literary stems say
184
+ // "[author/narrator]" and add "line" as a selectable unit; Multi-Select is exactly TWO correct
185
+ // (T8 allows two or three). DOK 1–2 (default 2).
186
+ "c1-t1": {
187
+ id: "c1-t1",
188
+ label: "Grade 5 · Claim 1 · Target 1 (Key Details)",
189
+ grade: 5,
190
+ skill: "key-details",
191
+ textType: "literary",
192
+ baseStandard: "rl-1",
193
+ defaultDok: "r-dok2",
194
+ answerKind: "evidence",
195
+ singlePartHotText: true,
196
+ taskModels: SELECT_TASK_MODELS,
197
+ standards: ["RL_G5"],
198
+ dimensions: ["supporting-evidence"],
199
+ errorTypes: [], // like T8, wrong answers are non-supporting sources, not distractor claims
200
+ dimStandard: {
201
+ "supporting-evidence": "rl-1", // no companion in the guideline — RL-1 stands alone
202
+ },
203
+ },
125
204
  // Claim 1 · Target 8 — Key Details, informational texts (RI-1 + RI-7). A DIFFERENT model: the
126
205
  // inference/conclusion is GIVEN in the stem and the student selects the supporting EVIDENCE
127
206
  // (answerKind "evidence"). Options are passage sources, not claims; no statement Part A, no
@@ -130,6 +209,7 @@ export const TARGETS_DATA = {
130
209
  id: "c1-t8",
131
210
  label: "Grade 5 · Claim 1 · Target 8 (Key Details)",
132
211
  grade: 5,
212
+ skill: "key-details",
133
213
  textType: "informational",
134
214
  baseStandard: "ri-1",
135
215
  defaultDok: "r-dok2",
@@ -152,6 +232,7 @@ export const TARGETS_DATA = {
152
232
  id: "c1-t10",
153
233
  label: "Grade 5 · Claim 1 · Target 10 (Word Meanings)",
154
234
  grade: 5,
235
+ skill: "word-meanings",
155
236
  textType: "informational",
156
237
  baseStandard: "ri-4",
157
238
  defaultDok: "r-dok2",
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "access": "public"
4
4
  },
5
5
  "name": "@graffiticode/l0175",
6
- "version": "0.3.0",
6
+ "version": "0.3.1",
7
7
  "description": "L0175 — a Graffiticode dialect (hello/image/theme/print) inheriting @graffiticode/l0000",
8
8
  "type": "module",
9
9
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "lint": "eslint src tools"
26
26
  },
27
27
  "dependencies": {
28
- "@graffiticode/l0000": "^0.1.2"
28
+ "@graffiticode/l0000": "^0.1.3"
29
29
  },
30
30
  "devDependencies": {
31
31
  "spec-md": "^3.1.0"
@@ -0,0 +1,20 @@
1
+ passage "Title"
2
+ type literary
3
+ lines [
4
+ "Line one."
5
+ ] claims []
6
+ evidence []
7
+ outcomes [] {}..
8
+ Read the sentence: "The aqueduct carried water across long distances using gentle slopes." What does the word aqueduct most likely mean?
9
+
10
+ A. a channel built to carry water ✓
11
+
12
+ B. a kind of paved road
13
+
14
+ C. a boat that carries cargo
15
+
16
+ D. a tall stone tower
17
+
18
+ Answer key: Answer — A
19
+
20
+ Correct inference: a channel built to carry water
package/spec/docs.md CHANGED
@@ -17,7 +17,7 @@ for the meaning of a targeted word in context.
17
17
 
18
18
  One language serves **multiple learning targets**, chosen by a required top-level `target`:
19
19
  `c1-t4` (literary, RL), `c1-t11` (informational, RI), `c1-t9` (informational, RI-1/RI-2),
20
- `c1-t8` (informational, RI-1/RI-7), or `c1-t10` (informational, RI-4/L-4). It is
20
+ `c1-t2` (literary, RL-1/RL-2), `c1-t1` (literary, RL-1), `c1-t8` (informational, RI-1/RI-7), or `c1-t10` (informational, RI-4/L-4). It is
21
21
  **item-first**: a program declares its `target`, then authors the `outcome`s (questions) first —
22
22
  each with a unique `id`, a `focus` correct claim (a **list** on `multi-select`), and an explicit
23
23
  `stem` — then the supported and distractor `claim`s (each distractor `targets` the question(s) it
@@ -33,29 +33,61 @@ The program
33
33
  target c1-t4
34
34
  passage "The Tide Pool"
35
35
  type literary
36
- lines [ "Mara crouched at the edge of the tide pool, ignoring the picnic behind her." ]
37
- claims [ claim id "c1" status supported dimension character subject "Mara"
38
- text "Mara is more interested in the tide pool than in the picnic." cites ["e1"] {}
36
+ lines [
37
+ "Mara crouched at the edge of the tide pool, ignoring the picnic behind her."
38
+ "Her brother called twice, but she did not turn around."
39
+ "A tiny crab scuttled under a rock, and Mara smiled for the first time all day."
40
+ "She traced the cold water as if the pool were the only thing that mattered."
41
+ "Behind her, paper plates rustled and her mother laughed."
42
+ "Someone asked whether she wanted a sandwich, and she said nothing at all."
43
+ "Only when her father folded the last chair did Mara stand up."
44
+ "The tide crept in and filled the pool to its rim."
45
+ ]
46
+ claims [
47
+ claim id "c1" status supported dimension character subject "Mara"
48
+ text "Mara cares more about the tide pool than about the picnic." cites ["e1" "e3" "e4"] {}
49
+ /* an EBSR needs 3 foils, so author at least 5 distractors targeting the question */
39
50
  claim id "c2" status distractor error-type misreads-detail targets ["q1"]
40
- text "Mara is angry at her brother." rationale "Silence is absorption, not anger." cites ["e1"] {} ]
41
- evidence [ source id "e1" line 1 status directly-supports supports ["c1"] {} ]
42
- outcomes [ outcome id "q1" type ebsr dimension character subject "Mara" standard rl-1 focus "c1"
43
- stem "Which of these inferences about Mara is supported by the passage?"
44
- stem-b "Which sentence(s) from the passage best support your answer in Part A?" {} ]
51
+ text "Mara is angry at her brother for calling her twice." rationale "Not turning around shows absorption, not anger." cites ["e2"] {}
52
+ claim id "c3" status distractor error-type misreads-detail targets ["q1"]
53
+ text "Mara is bored by the pool and wants to go home." rationale "Her stillness is focus, not boredom." cites ["e2"] {}
54
+ claim id "c4" status distractor error-type erroneous-inference targets ["q1"]
55
+ text "Mara would rather be indoors than out at the beach." rationale "Contradicted by her smile at the crab." cites ["e3"] {}
56
+ claim id "c5" status distractor error-type erroneous-inference targets ["q1"]
57
+ text "Mara is waiting for her brother to come look with her." rationale "Invents a goal the passage never states." cites ["e2"] {}
58
+ claim id "c6" status distractor error-type faulty-reasoning targets ["q1"]
59
+ text "Mara is quiet, so something must have upset her." rationale "Treats quiet as upset without support." cites ["e2"] {}
60
+ ]
61
+ evidence [
62
+ source id "e1" line 1 quote "Mara crouched at the edge of the tide pool, ignoring the picnic behind her." status directly-supports supports ["c1"] {}
63
+ source id "e3" line 3 quote "A tiny crab scuttled under a rock, and Mara smiled for the first time all day." status directly-supports supports ["c1"] {}
64
+ source id "e4" line 4 quote "She traced the cold water as if the pool were the only thing that mattered." status directly-supports supports ["c1"] {}
65
+ /* NO-GIVEAWAY: back BOTH the key and a distractor so Part B does not telegraph Part A */
66
+ source id "e2" line 2 quote "Her brother called twice, but she did not turn around." status supports-wrong-claim supports ["c1" "c2"] {}
67
+ source id "e6" line 6 quote "Someone asked whether she wanted a sandwich, and she said nothing at all." status supports-wrong-claim supports ["c1" "c6"] {}
68
+ source id "e5" line 5 quote "Behind her, paper plates rustled and her mother laughed." status irrelevant supports [] {}
69
+ source id "e7" line 7 quote "Only when her father folded the last chair did Mara stand up." status irrelevant supports [] {}
70
+ source id "e8" line 8 quote "The tide crept in and filled the pool to its rim." status irrelevant supports [] {}
71
+ ]
72
+ outcomes [
73
+ outcome id "q1" type ebsr task-model tm1 dimension character subject "Mara" standard rl-1 focus "c1"
74
+ stem "Which of these inferences about Mara is supported by the passage?"
75
+ stem-b "Which sentence(s) from the passage best support your answer in Part A?" {}
76
+ ]
45
77
  {}..
46
78
  ```
47
79
 
48
80
  composes a two-part EBSR item and renders it as an answerable form with a Student / Review
49
81
  toggle. This example is Target 4 (literary, R&E); the other targets use the same flat-chain shape
50
- but author their options differently — **T9** (Central Ideas) significance-taxonomy `claim`s,
51
- **T8** (Key Details) `source`s with the inference given in the stem, **T10** (Word Meanings)
82
+ but author their options differently — **T2**/**T9** (Central Ideas) significance-taxonomy `claim`s,
83
+ **T1**/**T8** (Key Details) `source`s with the inference given in the stem, **T10** (Word Meanings)
52
84
  `meaning`s of a targeted `word`. See `instructions.md` for a full worked program per target.
53
85
 
54
86
  ### Vocabulary
55
87
 
56
88
  | Form | Arity | Example | Description |
57
89
  | ---- | :---: | ------- | ----------- |
58
- | **target** | 2 | `target c1-t11` | Required, top level; selects the learning-target profile (`c1-t4` / `c1-t11` / `c1-t9` / `c1-t8` / `c1-t10`) |
90
+ | **target** | 2 | `target c1-t11` | Required, top level; selects the learning-target profile (`c1-t4` / `c1-t11` / `c1-t2` / `c1-t9` / `c1-t1` / `c1-t8` / `c1-t10`) |
59
91
  | **passage** | 2 | `passage "Title"` | Sets the passage heading; chains with `type` and `lines` |
60
92
  | **type** | 2 | `type literary` | Passage type (`literary` / `informational`) or, on an outcome, the item type |
61
93
  | **lines** | 2 | `lines [ "..." "..." ]` | Passage paragraphs (one entry per source paragraph), auto-numbered from 1 — preserve the request's paragraph breaks; don't merge into one block. Hot Text selects at the sentence level automatically, so split by paragraph (not by sentence) for every task model |
@@ -72,7 +104,7 @@ but author their options differently — **T9** (Central Ideas) significance-tax
72
104
 
73
105
  Attribute functions (arity-2, merge one key into the element's record):
74
106
 
75
- - **top level** — `target` (required: `c1-t4` | `c1-t11` | `c1-t9` | `c1-t8` | `c1-t10`), `title` (optional), `grade` (optional reading-level target; defaults to the target's grade), `words` (c1-t10 only — a list of `word`s)
107
+ - **top level** — `target` (required: `c1-t4` | `c1-t11` | `c1-t2` | `c1-t9` | `c1-t1` | `c1-t8` | `c1-t10`), `title` (optional), `grade` (optional reading-level target; defaults to the target's grade), `words` (c1-t10 only — a list of `word`s)
76
108
  - **word / meaning** (c1-t10) — `word` has `id`, `text`, `line`/`quote`, `meanings`; `meaning` has `id`, `text`, `status` (`correct` | `distractor`), `error-type`* + `rationale`* on distractors
77
109
  - **identity / refs** — `id`, `cites` (claim→evidence ids), `supports` (evidence→claim ids), `focus` (outcome→correct claim id, or a list on `multi-select`), `targets` (distractor→outcome ids)
78
110
  - **claim** — `status`, `dimension`, `text`, `error-type`*, `rationale`*, `targets`*, `plausibility` (0–1 distractor temptingness override), `subject`, `standard`, `dok`
@@ -84,14 +116,14 @@ Attribute functions (arity-2, merge one key into the element's record):
84
116
 
85
117
  ### Enumerations
86
118
 
87
- - `target`: `c1-t4` (literary, R&E), `c1-t11` (informational, R&E), `c1-t9` (informational, Central Ideas), `c1-t8` (informational, Key Details), `c1-t10` (informational, Word Meanings)
119
+ - `target`: `c1-t4` (literary, R&E), `c1-t11` (informational, R&E), `c1-t9` (informational, Central Ideas), `c1-t2` (**literary**, Central Ideas), `c1-t1` (**literary**, Key Details), `c1-t8` (informational, Key Details), `c1-t10` (informational, Word Meanings)
88
120
  - item `type`: `ebsr`, `hot-text`, `short-text`, `multiple-choice`, `multi-select` (allowed set per target — T4/T11: ebsr/hot-text/short-text · T9: multiple-choice/multi-select/ebsr/hot-text/short-text · T8: multiple-choice/multi-select/hot-text · T10: multiple-choice/multi-select/hot-text)
89
121
  - `dimension` (c1-t4): `character`, `setting`, `event`, `point-of-view`, `theme`, `topic`, `narrators-feelings`, `character-relationship`
90
122
  - `dimension` (c1-t11): `relationships-interactions`, `author-use-of-information`, `point-of-view`, `purpose`, `authors-opinion`
91
- - `dimension` (c1-t9): `central-idea`, `key-detail`, `summary` · (c1-t8): `supporting-evidence` · (c1-t10): `word-meaning`
123
+ - `dimension` (c1-t2): `theme`, `central-idea`, `key-detail`, `summary` · (c1-t9): `central-idea`, `key-detail`, `summary` · (c1-t1 / c1-t8): `supporting-evidence` · (c1-t10): `word-meaning`
92
124
  - claim `status`: `supported`, `distractor` · source `status`: `directly-supports`, `supports-wrong-claim`, `irrelevant` · meaning `status` (c1-t10): `correct`, `distractor`
93
- - `error-type` (c1-t4 / c1-t11): `misreads-detail`, `erroneous-inference`, `faulty-reasoning` · (c1-t9): `too-narrow`, `too-broad`, `misreads-detail`, `insignificant` · (c1-t8): none (non-supporting sources) · (c1-t10): `other-meaning`, `misinterprets`, `wrong-context`
94
- - `standard` — full CCSS Grade-5 strand for the text type accepted; the dimension's companion is inferred when omitted. Primary companions — (c1-t4): `rl-1` + `rl-2` (theme/topic) / `rl-3` / `rl-6` [full RL `rl-1`–`rl-7`/`rl-9`, no `rl-8`] · (c1-t11): `ri-1` + `ri-3` / `ri-6` / `ri-7` / `ri-8` · (c1-t9): `ri-1` + `ri-2` · (c1-t8): `ri-1` + `ri-7` [c1-t11/t9/t8 accept full RI `ri-1`–`ri-9`] · (c1-t10): `ri-4` + the `l-4` / `l-5` families
125
+ - `error-type` (c1-t4 / c1-t11): `misreads-detail`, `erroneous-inference`, `faulty-reasoning` · (c1-t2 / c1-t9): `too-narrow`, `too-broad`, `misreads-detail`, `insignificant` · (c1-t1 / c1-t8): none (non-supporting sources) · (c1-t10): `other-meaning`, `misinterprets`, `wrong-context`
126
+ - `standard` — full CCSS Grade-5 strand for the text type accepted; the dimension's companion is inferred when omitted. Primary companions — (c1-t4): `rl-1` + `rl-2` (theme/topic) / `rl-3` / `rl-6` [full RL `rl-1`–`rl-7`/`rl-9`, no `rl-8`] · (c1-t11): `ri-1` + `ri-3` / `ri-6` / `ri-7` / `ri-8` · (c1-t2): `rl-1` + `rl-2` · (c1-t9): `ri-1` + `ri-2` · (c1-t1): `rl-1` alone (no companion) · (c1-t8): `ri-1` + `ri-7` [c1-t11/t9/t8 accept full RI `ri-1`–`ri-9`] · (c1-t10): `ri-4` + the `l-4` / `l-5` families
95
127
  - `dok`: `r-dok1`, `r-dok2`, `r-dok3` (R&E → r-dok3; T9 → r-dok2, written summary r-dok3; T8 & T10 → r-dok2)
96
128
 
97
129
  ### Grade-appropriate reading level
@@ -0,0 +1 @@
1
+ { "prompt": "From a short literary story about a girl who quietly repairs a neighbor's porch, author a c1-t1 Task Model 1 (Multiple Choice) item that states the conclusion 'Nina takes care of a problem on her own, without being told to' and asks which line from the passage best supports it. The options are passage sources, not statements (dimension supporting-evidence, standard rl-1).", "expect": { "target": "c1-t1", "taskModel": "tm1", "itemType": "multiple-choice", "dimension": "supporting-evidence", "standard": "rl-1" } }
@@ -0,0 +1,27 @@
1
+ target c1-t1 passage "The Loose Board" type literary lines [
2
+ "Nina had walked past Mr. Ruiz's crooked porch a hundred times."
3
+ "The third board rocked under her feet every time she crossed it."
4
+ "On Saturday she stopped, because someone had left a hammer on the step."
5
+ "She looked up and down the empty street."
6
+ "Then she knelt down and set the first nail without anyone asking her to."
7
+ "Her arm ached by the fourth nail, but she did not quit."
8
+ "She tested the board twice with her heel."
9
+ "Then she put the hammer back exactly where she had found it."
10
+ "Mr. Ruiz never learned who had fixed his porch."
11
+ ]
12
+ claims [
13
+ claim id "c1" status supported dimension supporting-evidence subject "Nina" text "Nina takes care of a problem on her own, without being told to." cites ["e1" "e2"] {}
14
+ ]
15
+ evidence [
16
+ source id "e1" line 5 status directly-supports supports ["c1"] quote "Then she knelt down and set the first nail without anyone asking her to." {},
17
+ source id "e2" line 9 status directly-supports supports ["c1"] quote "Mr. Ruiz never learned who had fixed his porch." {},
18
+ source id "e3" line 1 status irrelevant supports [] quote "Nina had walked past Mr. Ruiz's crooked porch a hundred times." rationale "Tells how often Nina passed the porch, not that she chose to act on her own." {},
19
+ source id "e4" line 2 status irrelevant supports [] quote "The third board rocked under her feet every time she crossed it." rationale "Describes the problem itself; a student may mistake the problem for evidence of Nina's choice." {},
20
+ source id "e5" line 3 status irrelevant supports [] quote "On Saturday she stopped, because someone had left a hammer on the step." rationale "Invites the erroneous inference that Nina helped only because a tool happened to be there." {},
21
+ source id "e6" line 4 status irrelevant supports [] quote "She looked up and down the empty street." rationale "Sets the scene; shows no action Nina took." {},
22
+ source id "e7" line 6 status irrelevant supports [] quote "Her arm ached by the fourth nail, but she did not quit." rationale "Shows persistence once she had started, not that she started unasked." {},
23
+ source id "e8" line 7 status irrelevant supports [] quote "She tested the board twice with her heel." rationale "Shows carefulness about the repair, a different quality than acting without being told." {},
24
+ source id "e9" line 8 status irrelevant supports [] quote "Then she put the hammer back exactly where she had found it." rationale "Shows tidiness; a student may read any good habit as support for the conclusion." {}
25
+ ]
26
+ outcomes [ outcome id "q1" type multiple-choice task-model tm1 dimension supporting-evidence subject "Nina" focus "c1" stem "The reader can conclude that Nina takes care of a problem on her own, without being told to. Which line from the passage best supports this conclusion?" {} ]
27
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same story about the loose porch board, author a c1-t1 Task Model 2 (Multi-Select) item asking which TWO lines best support the stated conclusion; the two directly-supporting sources are the correct set (dimension supporting-evidence, standard rl-1).", "expect": { "target": "c1-t1", "taskModel": "tm2", "itemType": "multi-select", "dimension": "supporting-evidence", "standard": "rl-1" } }
@@ -0,0 +1,27 @@
1
+ target c1-t1 passage "The Loose Board" type literary lines [
2
+ "Nina had walked past Mr. Ruiz's crooked porch a hundred times."
3
+ "The third board rocked under her feet every time she crossed it."
4
+ "On Saturday she stopped, because someone had left a hammer on the step."
5
+ "She looked up and down the empty street."
6
+ "Then she knelt down and set the first nail without anyone asking her to."
7
+ "Her arm ached by the fourth nail, but she did not quit."
8
+ "She tested the board twice with her heel."
9
+ "Then she put the hammer back exactly where she had found it."
10
+ "Mr. Ruiz never learned who had fixed his porch."
11
+ ]
12
+ claims [
13
+ claim id "c1" status supported dimension supporting-evidence subject "Nina" text "Nina takes care of a problem on her own, without being told to." cites ["e1" "e2"] {}
14
+ ]
15
+ evidence [
16
+ source id "e1" line 5 status directly-supports supports ["c1"] quote "Then she knelt down and set the first nail without anyone asking her to." {},
17
+ source id "e2" line 9 status directly-supports supports ["c1"] quote "Mr. Ruiz never learned who had fixed his porch." {},
18
+ source id "e3" line 1 status irrelevant supports [] quote "Nina had walked past Mr. Ruiz's crooked porch a hundred times." rationale "Tells how often Nina passed the porch, not that she chose to act on her own." {},
19
+ source id "e4" line 2 status irrelevant supports [] quote "The third board rocked under her feet every time she crossed it." rationale "Describes the problem itself; a student may mistake the problem for evidence of Nina's choice." {},
20
+ source id "e5" line 3 status irrelevant supports [] quote "On Saturday she stopped, because someone had left a hammer on the step." rationale "Invites the erroneous inference that Nina helped only because a tool happened to be there." {},
21
+ source id "e6" line 4 status irrelevant supports [] quote "She looked up and down the empty street." rationale "Sets the scene; shows no action Nina took." {},
22
+ source id "e7" line 6 status irrelevant supports [] quote "Her arm ached by the fourth nail, but she did not quit." rationale "Shows persistence once she had started, not that she started unasked." {},
23
+ source id "e8" line 7 status irrelevant supports [] quote "She tested the board twice with her heel." rationale "Shows carefulness about the repair, a different quality than acting without being told." {},
24
+ source id "e9" line 8 status irrelevant supports [] quote "Then she put the hammer back exactly where she had found it." rationale "Shows tidiness; a student may read any good habit as support for the conclusion." {}
25
+ ]
26
+ outcomes [ outcome id "q1" type multi-select task-model tm2 dimension supporting-evidence subject "Nina" focus "c1" stem "Nina takes care of a problem on her own, without being told to. Which two lines from the passage best support this conclusion? Select two answers." {} ]
27
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same story about the loose porch board, author a c1-t1 Task Model 3 (Hot Text) single-part item: state the conclusion, then have students click the two sentences in the passage that support it (dimension supporting-evidence, standard rl-1).", "expect": { "target": "c1-t1", "taskModel": "tm3", "itemType": "hot-text", "dimension": "supporting-evidence", "standard": "rl-1" } }
@@ -0,0 +1,27 @@
1
+ target c1-t1 passage "The Loose Board" type literary lines [
2
+ "Nina had walked past Mr. Ruiz's crooked porch a hundred times."
3
+ "The third board rocked under her feet every time she crossed it."
4
+ "On Saturday she stopped, because someone had left a hammer on the step."
5
+ "She looked up and down the empty street."
6
+ "Then she knelt down and set the first nail without anyone asking her to."
7
+ "Her arm ached by the fourth nail, but she did not quit."
8
+ "She tested the board twice with her heel."
9
+ "Then she put the hammer back exactly where she had found it."
10
+ "Mr. Ruiz never learned who had fixed his porch."
11
+ ]
12
+ claims [
13
+ claim id "c1" status supported dimension supporting-evidence subject "Nina" text "Nina takes care of a problem on her own, without being told to." cites ["e1" "e2"] {}
14
+ ]
15
+ evidence [
16
+ source id "e1" line 5 status directly-supports supports ["c1"] quote "Then she knelt down and set the first nail without anyone asking her to." {},
17
+ source id "e2" line 9 status directly-supports supports ["c1"] quote "Mr. Ruiz never learned who had fixed his porch." {},
18
+ source id "e3" line 1 status irrelevant supports [] quote "Nina had walked past Mr. Ruiz's crooked porch a hundred times." rationale "Tells how often Nina passed the porch, not that she chose to act on her own." {},
19
+ source id "e4" line 2 status irrelevant supports [] quote "The third board rocked under her feet every time she crossed it." rationale "Describes the problem itself; a student may mistake the problem for evidence of Nina's choice." {},
20
+ source id "e5" line 3 status irrelevant supports [] quote "On Saturday she stopped, because someone had left a hammer on the step." rationale "Invites the erroneous inference that Nina helped only because a tool happened to be there." {},
21
+ source id "e6" line 4 status irrelevant supports [] quote "She looked up and down the empty street." rationale "Sets the scene; shows no action Nina took." {},
22
+ source id "e7" line 6 status irrelevant supports [] quote "Her arm ached by the fourth nail, but she did not quit." rationale "Shows persistence once she had started, not that she started unasked." {},
23
+ source id "e8" line 7 status irrelevant supports [] quote "She tested the board twice with her heel." rationale "Shows carefulness about the repair, a different quality than acting without being told." {},
24
+ source id "e9" line 8 status irrelevant supports [] quote "Then she put the hammer back exactly where she had found it." rationale "Shows tidiness; a student may read any good habit as support for the conclusion." {}
25
+ ]
26
+ outcomes [ outcome id "q1" type hot-text task-model tm3 dimension supporting-evidence subject "Nina" focus "c1" stem "Read this conclusion. Nina takes care of a problem on her own, without being told to. Click the two sentences from the passage that best support this conclusion." {} ]
27
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From a short story about a girl who keeps entering her drawings in a county fair, author a c1-t2 Task Model 1 (Multiple Choice) item asking which sentence best tells the theme. Distractors are the significance taxonomy - true-but-not-central statements (dimension theme, standard rl-2).", "expect": { "target": "c1-t2", "taskModel": "tm1", "itemType": "multiple-choice", "dimension": "theme", "standard": "rl-2" } }
@@ -0,0 +1,29 @@
1
+ target c1-t2 passage "The Blue Ribbon" type literary lines [
2
+ "Every spring, Tessa entered her drawing in the county fair."
3
+ "Every spring she came home with nothing."
4
+ "This year she almost did not enter at all."
5
+ "Her grandmother set a fresh pencil on the kitchen table."
6
+ "Tessa drew the same barn eleven times before she kept one."
7
+ "At the fair, the blue ribbon went to somebody else."
8
+ "Then a teacher asked to hang Tessa's drawing in the hall."
9
+ "Tessa walked home taller than she had the year before."
10
+ ]
11
+ claims [
12
+ claim id "c1" status supported dimension theme subject "Tessa" text "Keeping at something can matter more than winning." cites ["e5" "e7"] {},
13
+ claim id "d1" status distractor error-type too-narrow targets ["q1"] text "Tessa entered the county fair every single spring." rationale "A true detail from the opening, not the story's theme." cites ["e1"] {},
14
+ claim id "d2" status distractor error-type too-broad targets ["q1"] text "Hard work always makes a person famous someday." rationale "Overgeneralizes far past what the story shows." cites ["e7"] {},
15
+ claim id "d3" status distractor error-type misreads-detail targets ["q1"] text "Tessa gave up drawing after she lost again." rationale "Misreads the ending; she keeps drawing and is lifted by it." cites ["e6"] {},
16
+ claim id "d4" status distractor error-type insignificant targets ["q1"] text "Tessa's grandmother owned more than one pencil." rationale "A trivial inference that could not carry a theme." cites ["e4"] {},
17
+ claim id "d5" status distractor error-type too-narrow targets ["q1"] text "Tessa drew a barn instead of drawing a house." rationale "A single detail of the drawing, not what the story means." cites ["e5"] {}
18
+ ]
19
+ evidence [
20
+ source id "e5" line 5 status directly-supports supports ["c1"] quote "Tessa drew the same barn eleven times before she kept one." {},
21
+ source id "e7" line 7 status directly-supports supports ["c1"] quote "Then a teacher asked to hang Tessa's drawing in the hall." {},
22
+ source id "e1" line 1 status supports-wrong-claim supports ["c1" "d1"] quote "Every spring, Tessa entered her drawing in the county fair." rationale "Shows she took part, which a student may read as the point." {},
23
+ source id "e3" line 3 status supports-wrong-claim supports ["c1" "d3"] quote "This year she almost did not enter at all." rationale "Her doubt can look like giving up." {},
24
+ source id "e6" line 6 status supports-wrong-claim supports ["c1" "d3"] quote "At the fair, the blue ribbon went to somebody else." rationale "The loss is real, but the story does not end there." {},
25
+ source id "e2" line 2 status irrelevant supports [] quote "Every spring she came home with nothing." {},
26
+ source id "e4" line 4 status irrelevant supports [] quote "Her grandmother set a fresh pencil on the kitchen table." {}
27
+ ]
28
+ outcomes [ outcome id "q1" type multiple-choice task-model tm1 dimension theme subject "Tessa" focus "c1" stem "Which sentence best tells the theme of the passage?" {} ]
29
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same county-fair story, author a c1-t2 Task Model 2 (Multi-Select) item asking which TWO sentences belong in a summary of the story; focus is a list of the two correct statements (dimension summary, standard rl-2).", "expect": { "target": "c1-t2", "taskModel": "tm2", "itemType": "multi-select", "dimension": "summary", "standard": "rl-2" } }
@@ -0,0 +1,28 @@
1
+ target c1-t2 passage "The Blue Ribbon" type literary lines [
2
+ "Every spring, Tessa entered her drawing in the county fair."
3
+ "Every spring she came home with nothing."
4
+ "This year she almost did not enter at all."
5
+ "Her grandmother set a fresh pencil on the kitchen table."
6
+ "Tessa drew the same barn eleven times before she kept one."
7
+ "At the fair, the blue ribbon went to somebody else."
8
+ "Then a teacher asked to hang Tessa's drawing in the hall."
9
+ "Tessa walked home taller than she had the year before."
10
+ ]
11
+ claims [
12
+ claim id "s1" status supported dimension summary subject "the fair" text "Tessa almost skipped the fair but entered anyway." cites ["e3"] {},
13
+ claim id "s2" status supported dimension summary subject "the fair" text "A teacher chose her drawing to hang in the hall." cites ["e7"] {},
14
+ claim id "u1" status distractor error-type misreads-detail targets ["q1"] text "Tessa won the blue ribbon at the county fair." rationale "Reverses the outcome; somebody else took the ribbon." cites ["e6"] {},
15
+ claim id "u2" status distractor error-type insignificant targets ["q1"] text "Tessa's grandmother owned more than one pencil." rationale "Too minor an idea to belong in a summary." cites ["e4"] {},
16
+ claim id "u3" status distractor error-type too-broad targets ["q1"] text "Every child should enter an art contest yearly." rationale "Advice the story never gives; not a summary statement." cites ["e1"] {},
17
+ claim id "u4" status distractor error-type too-narrow targets ["q1"] text "The pencil on the table was freshly sharpened." rationale "A single small image, not a key event of the story." cites ["e4"] {},
18
+ claim id "u5" status distractor error-type insignificant targets ["q1"] text "The county fair takes place every single spring." rationale "Background timing rather than a key event." cites ["e1"] {}
19
+ ]
20
+ evidence [
21
+ source id "e3" line 3 status directly-supports supports ["s1"] quote "This year she almost did not enter at all." {},
22
+ source id "e7" line 7 status directly-supports supports ["s2"] quote "Then a teacher asked to hang Tessa's drawing in the hall." {},
23
+ source id "e1" line 1 status irrelevant supports [] quote "Every spring, Tessa entered her drawing in the county fair." {},
24
+ source id "e4" line 4 status irrelevant supports [] quote "Her grandmother set a fresh pencil on the kitchen table." {},
25
+ source id "e6" line 6 status irrelevant supports [] quote "At the fair, the blue ribbon went to somebody else." {}
26
+ ]
27
+ outcomes [ outcome id "q1" type multi-select task-model tm2 dimension summary subject "the fair" focus ["s1" "s2"] stem "Choose two sentences that should be included in a summary of the story. Select two answers." {} ]
28
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same county-fair story, author a c1-t2 Task Model 3 (EBSR) two-part item: Part A asks for the theme, Part B asks which sentence from the passage best supports it (dimension theme, standard rl-2).", "expect": { "target": "c1-t2", "taskModel": "tm3", "itemType": "ebsr", "dimension": "theme", "standard": "rl-2" } }
@@ -0,0 +1,29 @@
1
+ target c1-t2 passage "The Blue Ribbon" type literary lines [
2
+ "Every spring, Tessa entered her drawing in the county fair."
3
+ "Every spring she came home with nothing."
4
+ "This year she almost did not enter at all."
5
+ "Her grandmother set a fresh pencil on the kitchen table."
6
+ "Tessa drew the same barn eleven times before she kept one."
7
+ "At the fair, the blue ribbon went to somebody else."
8
+ "Then a teacher asked to hang Tessa's drawing in the hall."
9
+ "Tessa walked home taller than she had the year before."
10
+ ]
11
+ claims [
12
+ claim id "c1" status supported dimension theme subject "Tessa" text "Keeping at something can matter more than winning." cites ["e5" "e7"] {},
13
+ claim id "d1" status distractor error-type too-narrow targets ["q1"] text "Tessa entered the county fair every single spring." rationale "A true detail from the opening, not the story's theme." cites ["e1"] {},
14
+ claim id "d2" status distractor error-type too-broad targets ["q1"] text "Hard work always makes a person famous someday." rationale "Overgeneralizes far past what the story shows." cites ["e7"] {},
15
+ claim id "d3" status distractor error-type misreads-detail targets ["q1"] text "Tessa gave up drawing after she lost again." rationale "Misreads the ending; she keeps drawing and is lifted by it." cites ["e6"] {},
16
+ claim id "d4" status distractor error-type insignificant targets ["q1"] text "Tessa's grandmother owned more than one pencil." rationale "A trivial inference that could not carry a theme." cites ["e4"] {},
17
+ claim id "d5" status distractor error-type too-narrow targets ["q1"] text "Tessa drew a barn instead of drawing a house." rationale "A single detail of the drawing, not what the story means." cites ["e5"] {}
18
+ ]
19
+ evidence [
20
+ source id "e5" line 5 status directly-supports supports ["c1"] quote "Tessa drew the same barn eleven times before she kept one." {},
21
+ source id "e7" line 7 status directly-supports supports ["c1"] quote "Then a teacher asked to hang Tessa's drawing in the hall." {},
22
+ source id "e1" line 1 status supports-wrong-claim supports ["c1" "d1"] quote "Every spring, Tessa entered her drawing in the county fair." rationale "Shows she took part, which a student may read as the point." {},
23
+ source id "e3" line 3 status supports-wrong-claim supports ["c1" "d3"] quote "This year she almost did not enter at all." rationale "Her doubt can look like giving up." {},
24
+ source id "e6" line 6 status supports-wrong-claim supports ["c1" "d3"] quote "At the fair, the blue ribbon went to somebody else." rationale "The loss is real, but the story does not end there." {},
25
+ source id "e2" line 2 status irrelevant supports [] quote "Every spring she came home with nothing." {},
26
+ source id "e4" line 4 status irrelevant supports [] quote "Her grandmother set a fresh pencil on the kitchen table." {}
27
+ ]
28
+ outcomes [ outcome id "q1" type ebsr task-model tm3 dimension theme subject "Tessa" focus "c1" stem "Which sentence best tells the theme of the passage?" stem-b "Which sentence from the passage best supports your answer in Part A?" {} ]
29
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same county-fair story, author a c1-t2 Task Model 4 (Hot Text) single-part item where students click the two sentences that best show the theme (dimension theme, standard rl-2).", "expect": { "target": "c1-t2", "taskModel": "tm4", "itemType": "hot-text", "dimension": "theme", "standard": "rl-2" } }
@@ -0,0 +1,19 @@
1
+ target c1-t2 passage "The Blue Ribbon" type literary lines [
2
+ "Every spring, Tessa entered her drawing in the county fair."
3
+ "Every spring she came home with nothing."
4
+ "This year she almost did not enter at all."
5
+ "Her grandmother set a fresh pencil on the kitchen table."
6
+ "Tessa drew the same barn eleven times before she kept one."
7
+ "At the fair, the blue ribbon went to somebody else."
8
+ "Then a teacher asked to hang Tessa's drawing in the hall."
9
+ "Tessa walked home taller than she had the year before."
10
+ ]
11
+ claims [
12
+ claim id "c1" status supported dimension theme subject "Tessa" text "Keeping at something can matter more than winning." cites ["e5" "e7"] {}
13
+ ]
14
+ evidence [
15
+ source id "e5" line 5 status directly-supports supports ["c1"] quote "Tessa drew the same barn eleven times before she kept one." {},
16
+ source id "e7" line 7 status directly-supports supports ["c1"] quote "Then a teacher asked to hang Tessa's drawing in the hall." {}
17
+ ]
18
+ outcomes [ outcome id "q1" type hot-text task-model tm4 dimension theme subject "Tessa" focus "c1" stem "Click on the two sentences that best show the theme of the story. Choose two answers." {} ]
19
+ {}..
@@ -0,0 +1 @@
1
+ { "prompt": "From the same county-fair story, author a c1-t2 Task Model 5 (Short Text) constructed-response item asking students to summarize what happens after a key event - never the whole text - using key details (dimension summary, standard rl-2, DOK r-dok3).", "expect": { "target": "c1-t2", "taskModel": "tm5", "itemType": "short-text", "dimension": "summary", "standard": "rl-2" } }