@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.
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +44 -6
- package/dist/compiler.js.map +1 -1
- package/dist/embedding.d.ts.map +1 -1
- package/dist/embedding.js +73 -12
- package/dist/embedding.js.map +1 -1
- package/dist/lexicon.js +4 -4
- package/dist/lexicon.js.map +1 -1
- package/dist/static/examples.md +105 -0
- package/dist/static/instructions.md +238 -65
- package/dist/static/language-info.json +18 -3
- package/dist/static/lexicon.json +14 -0
- package/dist/static/scope.json +9 -8
- package/dist/static/spec.html +80 -15
- package/dist/static/stems.md +167 -5
- package/dist/static/targets.json +71 -1
- package/dist/static/usage-guide.md +29 -6
- package/dist/targets.d.ts +3 -1
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +87 -6
- package/dist/targets.js.map +1 -1
- package/package.json +2 -2
- package/spec/#template.gc# +20 -0
- package/spec/docs.md +49 -17
- package/spec/examples/c1-t1-tm1-multiplechoice.expect.json +1 -0
- package/spec/examples/c1-t1-tm1-multiplechoice.gc +27 -0
- package/spec/examples/c1-t1-tm2-multiselect.expect.json +1 -0
- package/spec/examples/c1-t1-tm2-multiselect.gc +27 -0
- package/spec/examples/c1-t1-tm3-hottext.expect.json +1 -0
- package/spec/examples/c1-t1-tm3-hottext.gc +27 -0
- package/spec/examples/c1-t2-tm1-multiplechoice.expect.json +1 -0
- package/spec/examples/c1-t2-tm1-multiplechoice.gc +29 -0
- package/spec/examples/c1-t2-tm2-multiselect.expect.json +1 -0
- package/spec/examples/c1-t2-tm2-multiselect.gc +28 -0
- package/spec/examples/c1-t2-tm3-ebsr.expect.json +1 -0
- package/spec/examples/c1-t2-tm3-ebsr.gc +29 -0
- package/spec/examples/c1-t2-tm4-hottext.expect.json +1 -0
- package/spec/examples/c1-t2-tm4-hottext.gc +19 -0
- package/spec/examples/c1-t2-tm5-shorttext.expect.json +1 -0
- package/spec/examples/c1-t2-tm5-shorttext.gc +20 -0
- package/spec/examples.md +100 -130
- package/spec/instructions.md +208 -62
- package/spec/language-info.json +17 -2
- package/spec/rag-examples-design.md +2 -2
- package/spec/scope.json +9 -8
- package/spec/spec.md +82 -15
- package/spec/stems.md +167 -5
- package/spec/usage-guide.md +29 -6
|
@@ -7,16 +7,22 @@ This is the core Graffiticode language — a functional language with prefix not
|
|
|
7
7
|
|
|
8
8
|
## Response Requirements
|
|
9
9
|
|
|
10
|
-
- **IMPORTANT**: Whatever the user request is, the response should always be a complete Graffiticode program
|
|
11
|
-
-
|
|
10
|
+
- **IMPORTANT**: Whatever the user request is, the response should always be a complete Graffiticode program ending with `..`.
|
|
11
|
+
- A program is zero or more `let` declarations followed by an **expression block**: one or more expressions evaluated in order. The value of the last expression is the program's result.
|
|
12
12
|
|
|
13
13
|
## Program Structure
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
let name = value..
|
|
17
|
+
expression
|
|
17
18
|
expression..
|
|
18
19
|
```
|
|
19
20
|
|
|
21
|
+
A program has exactly one `..` at the very end, plus one after each `let`
|
|
22
|
+
binding. **Everything after the program's final `..` is discarded — silently,
|
|
23
|
+
with no error.** Writing `..` after an expression that is not a `let` therefore
|
|
24
|
+
throws away the rest of the program.
|
|
25
|
+
|
|
20
26
|
### Minimal example
|
|
21
27
|
|
|
22
28
|
```
|
|
@@ -30,13 +36,34 @@ let double = <x: mul 2 x>..
|
|
|
30
36
|
map (double) [1 2 3]..
|
|
31
37
|
```
|
|
32
38
|
|
|
39
|
+
### An expression block
|
|
40
|
+
|
|
41
|
+
Expressions in a block are written one after another with **no separator
|
|
42
|
+
between them** — no `..`, no comma. An expression ends as soon as its arguments
|
|
43
|
+
are supplied, and the next expression simply follows:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
set-var "greeting" "hello"
|
|
47
|
+
print get-var "greeting"..
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
That is two expressions: `set-var` takes 2 arguments and is complete after
|
|
51
|
+
`"hello"`, then `print …` follows as the next expression and its value is the
|
|
52
|
+
program's result. Writing `set-var "greeting" "hello"..` instead would end the
|
|
53
|
+
program at that point and discard the `print` line.
|
|
54
|
+
|
|
55
|
+
A complete expression is **not** a complete program. When a program needs
|
|
56
|
+
several steps — bind a variable, then build the result — write them as
|
|
57
|
+
consecutive expressions in one block and terminate only at the end.
|
|
58
|
+
|
|
33
59
|
## Syntax Rules
|
|
34
60
|
|
|
35
61
|
- **Prefix notation**: Functions are applied by writing the function name followed by its arguments: `add 1 2`
|
|
36
62
|
- **Fixed arity**: Every function has a known number of parameters, so applications parse unambiguously without grouping: `add 1 mul 2 3` parses as `add(1, mul(2, 3))`
|
|
37
63
|
- **Parentheses defer application**: `map (double) [1 2 3]` passes `double` as a value rather than applying it
|
|
38
|
-
- **Program terminator**:
|
|
64
|
+
- **Program terminator**: A program ends with `..`, and `..` appears nowhere else except after `let` bindings. It terminates the whole program, not an expression — text following it is dropped without an error.
|
|
39
65
|
- **Let terminator**: Every `let` binding ends with `..`
|
|
66
|
+
- **No expression separator**: Consecutive expressions in a block are juxtaposed. Argument boundaries come from arity alone, so `add 1 2 add 3 4` is two complete expressions, not one
|
|
40
67
|
- **Comments**: Block comments are enclosed in `/* ... */`
|
|
41
68
|
|
|
42
69
|
## Data Types
|
|
@@ -189,10 +216,9 @@ map (double) map (inc) [1 2 3]..
|
|
|
189
216
|
|
|
190
217
|
|
|
191
218
|
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
|
|
192
|
-
<!-- gc:model=opus -->
|
|
193
219
|
# L0175 Dialect Extensions
|
|
194
220
|
|
|
195
|
-
_Revised: 2026-
|
|
221
|
+
_Revised: 2026-08-28_
|
|
196
222
|
|
|
197
223
|
L0175 composes 5th-grade ELA assessment items (Smarter Balanced · Grade 5 · Claim 1 ·
|
|
198
224
|
Reasoning & Evidence) from an authored, inline superset of tagged content. One language serves
|
|
@@ -209,9 +235,28 @@ Always declare a top-level `target` (the SBAC learning target the program compos
|
|
|
209
235
|
`topic` → `rl-2`** (the CCSS theme standard — **not** `rl-9`). `rl-1` (cite evidence) is always
|
|
210
236
|
added. You normally **omit** `standard` and let the dimension pick its companion; the full
|
|
211
237
|
Grade-5 **RL** strand (`rl-1`–`rl-7`, `rl-9`) is accepted if you author one explicitly.
|
|
238
|
+
**`theme` vs `topic`** (same `rl-2`, different dimensions): `topic` = what the text is *about*
|
|
239
|
+
(cued by "**mostly about**" / "what is the story about"); `theme` = the *lesson/message* (cued by
|
|
240
|
+
"the theme" / "the message" / "the lesson"). Tag a "mostly about" prompt `topic` and phrase its
|
|
241
|
+
correct answer as a subject statement, not a life lesson.
|
|
212
242
|
- **`c1-t11`** — Target 11: Reasoning & Evidence over **informational** texts (RI standards).
|
|
213
243
|
Dimensions: `relationships-interactions`, `author-use-of-information`, `point-of-view`,
|
|
214
244
|
`purpose`, `authors-opinion`. Standards: `ri-1` (always) + `ri-3` / `ri-6` / `ri-7` / `ri-8` / `ri-9`.
|
|
245
|
+
**`purpose` vs `point-of-view`** (both read "author's …", different companions): `purpose` = *why
|
|
246
|
+
the author wrote it* (cued by "author's purpose") → `ri-8`; `point-of-view` = *the author's stance*
|
|
247
|
+
(cued by "author's point of view") → `ri-6`. Tag by the cue and prefer to **omit** `standard` so
|
|
248
|
+
the dimension infers the right companion.
|
|
249
|
+
- **`c1-t2`** — Target 2: **Central Ideas** over **literary** texts (RL standards). The **literary
|
|
250
|
+
twin of `c1-t9`** and, with it, the only target offering **all five** item types
|
|
251
|
+
(`multiple-choice`, `multi-select`, `ebsr`, `hot-text` single-part, `short-text`). Dimensions:
|
|
252
|
+
`theme`, `central-idea`, `key-detail`, `summary` — all four answer to `rl-2`, so `standards`
|
|
253
|
+
composes to `["rl-1", "rl-2"]`. **DOK 2** (3 for the written response). Same **significance**
|
|
254
|
+
distractor taxonomy as T9 (`too-narrow`, `too-broad`, `misreads-detail`, `insignificant`).
|
|
255
|
+
**Two T2-only rules:** (1) **theme leads** — for a story or poem prefer `theme` and phrase the
|
|
256
|
+
correct answer as a *lesson or message*, not a plot summary (`central-idea` is for a "main idea"
|
|
257
|
+
prompt); (2) **summary is scoped** — the guideline forbids asking students to summarize the
|
|
258
|
+
*entire* text, so every `summary` stem must point at a section or key event ("Summarize what
|
|
259
|
+
happens after…"). `key-detail` covers the guideline's "key events".
|
|
215
260
|
- **`c1-t9`** — Target 9: **Central Ideas** over **informational** texts (RI standards). A
|
|
216
261
|
DIFFERENT skill from Reasoning & Evidence — synthesize and condense: the main/central idea, the
|
|
217
262
|
key details that build it, and summary (NOT inference + justification). Dimensions: `central-idea`,
|
|
@@ -221,6 +266,16 @@ Always declare a top-level `target` (the SBAC learning target the program compos
|
|
|
221
266
|
the correct selection). Distractors use a **significance** taxonomy (`too-narrow`,
|
|
222
267
|
`too-broad`, `misreads-detail`, `insignificant`) — usually true statements that just aren't the
|
|
223
268
|
central idea.
|
|
269
|
+
- **`c1-t1`** — Target 1: **Key Details** over **literary** texts. The **literary twin of `c1-t8`**
|
|
270
|
+
and the same model: the inference/conclusion is **GIVEN in the stem**, and the student selects the
|
|
271
|
+
supporting **evidence**. Dimension: `supporting-evidence`. Standard: **`rl-1` and nothing else** —
|
|
272
|
+
the guideline names no companion, so a composed item's `standards` is exactly `["rl-1"]`; omit
|
|
273
|
+
`standard` on the outcome. **DOK 1–2**. Item types: `multiple-choice`, `multi-select`, `hot-text`
|
|
274
|
+
(single-part) — no EBSR, no short-text. **Author ONE supported `claim` = the given inference (its
|
|
275
|
+
`focus`), state it in the `stem`, and author `source`s as the options: `directly-supports` =
|
|
276
|
+
correct evidence (with a `quote`), `supports-wrong-claim`/`irrelevant` = distractor evidence. No
|
|
277
|
+
distractor claims.** Its stems offer `line` as a selectable unit and say `[author/narrator]`;
|
|
278
|
+
Multi-Select is exactly **two** correct.
|
|
224
279
|
- **`c1-t8`** — Target 8: **Key Details** over **informational** texts (RI standards). A DIFFERENT
|
|
225
280
|
model: the inference/conclusion is **GIVEN in the stem**, and the student selects the supporting
|
|
226
281
|
**evidence** (the answer is evidence, not a chosen statement). Dimension: `supporting-evidence`.
|
|
@@ -240,22 +295,25 @@ Always declare a top-level `target` (the SBAC learning target the program compos
|
|
|
240
295
|
(Multi-Select) `status correct` + `status distractor` meanings (each with a T10 `error-type`
|
|
241
296
|
+ `rationale`). The outcome's `focus` names the word; state the word + its context in the `stem`.**
|
|
242
297
|
|
|
243
|
-
**Infer the target — the user need not state it.**
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
`target
|
|
258
|
-
|
|
298
|
+
**Infer the target — the user need not state it.** Pick on **two axes: the skill asked, and the
|
|
299
|
+
text type.** Most skills exist in both a literary and an informational target, so decide the skill
|
|
300
|
+
first, then the text type:
|
|
301
|
+
|
|
302
|
+
| Skill — how to recognize it | **Literary** (story / poem / narrative) | **Informational** (article / report) |
|
|
303
|
+
|---|---|---|
|
|
304
|
+
| **Reasoning & Evidence** — infer/conclude AND justify ("infer/conclude/why") | `c1-t4` | `c1-t11` |
|
|
305
|
+
| **Central Ideas** — theme, main idea, the key details that build it, or a summary ("theme/message/main idea/summarize") | `c1-t2` | `c1-t9` |
|
|
306
|
+
| **Key Details** — the request **states an inference and asks which detail/sentence supports it** (the answer is evidence) | `c1-t1` | `c1-t8` |
|
|
307
|
+
| **Word Meanings** — "what does [word] mean [in context]" | — | `c1-t10` |
|
|
308
|
+
|
|
309
|
+
The skill cues also point at a dimension: character / theme / narrator's point of view → the R&E
|
|
310
|
+
literary target. When the **text type** is genuinely ambiguous, prefer the literary target; when the
|
|
311
|
+
**skill** is ambiguous, match the verbs in the request. Write the choice as the first top-level
|
|
312
|
+
form: `target c1-t11`. Use the dimensions, standards, and stem catalog (in `stems.md`) for that
|
|
313
|
+
target; mixing targets' vocabularies is a compile error, and the passage `type` must match the
|
|
314
|
+
target (literary for T4/T2/T1; informational for T11/T9/T8/T10). If `target` is omitted entirely
|
|
315
|
+
the compiler defaults to `c1-t4` and warns — so always emit one explicitly rather than relying on
|
|
316
|
+
the default.
|
|
259
317
|
|
|
260
318
|
## Authoring contract
|
|
261
319
|
|
|
@@ -279,7 +337,7 @@ Quote free text (`text`, `rationale`, `subject`, passage heading) and id labels
|
|
|
279
337
|
|
|
280
338
|
## Forms and attributes
|
|
281
339
|
|
|
282
|
-
- **target** `c1-t4` | `c1-t11` — top level; selects the learning-target profile (dimensions,
|
|
340
|
+
- **target** `c1-t4` | `c1-t11` | `c1-t2` | `c1-t9` | `c1-t1` | `c1-t8` | `c1-t10` — top level; selects the learning-target profile (dimensions,
|
|
283
341
|
standards, stem catalog). Always author one; if omitted, the compiler defaults to `c1-t4`.
|
|
284
342
|
- **grade** `<n>` — optional, top level (e.g. `grade 5`). The reading-level target the compiler
|
|
285
343
|
checks the passage against. Defaults to the guideline/target's grade (5 for `c1-t4`/`c1-t11`);
|
|
@@ -349,13 +407,13 @@ each item, pick the one template that matches the item type and the task, and fi
|
|
|
349
407
|
⚠ **Task-model numbers are PER-TARGET and COLLIDE across targets.** The same number maps to a
|
|
350
408
|
different item type depending on the `target`. Look at `tm3` alone:
|
|
351
409
|
|
|
352
|
-
| Number | `c1-t4` / `c1-t11` | `c1-t9` | `c1-t8` / `c1-t10` |
|
|
353
|
-
|
|
410
|
+
| Number | `c1-t4` / `c1-t11` | `c1-t2` / `c1-t9` | `c1-t1` / `c1-t8` / `c1-t10` |
|
|
411
|
+
|--------|--------------------|-------------------|------------------------------|
|
|
354
412
|
| **tm3** | short-text | **ebsr (two-part)** | hot-text |
|
|
355
413
|
|
|
356
414
|
So "task model 3" cannot be resolved without first knowing the target. **Do not assume the
|
|
357
|
-
Reasoning & Evidence (T4/T11) numbering applies elsewhere** — under
|
|
358
|
-
Task Model 4 is Hot Text, Task Model 5 is Short Text.
|
|
415
|
+
Reasoning & Evidence (T4/T11) numbering applies elsewhere** — under the Central Ideas targets
|
|
416
|
+
(`c1-t2`, `c1-t9`), Task Model 3 is EBSR, Task Model 4 is Hot Text, Task Model 5 is Short Text.
|
|
359
417
|
|
|
360
418
|
The full per-target task-model → item-type mapping (the compiler enforces exactly this):
|
|
361
419
|
|
|
@@ -364,7 +422,9 @@ The full per-target task-model → item-type mapping (the compiler enforces exac
|
|
|
364
422
|
|--------|-----|-----|-----|-----|-----|
|
|
365
423
|
| `c1-t4` — Grade 5 · Claim 1 · Target 4 (Reasoning & Evidence) | ebsr | hot-text | short-text | — | — |
|
|
366
424
|
| `c1-t11` — Grade 5 · Claim 1 · Target 11 (Reasoning & Evidence) | ebsr | hot-text | short-text | — | — |
|
|
425
|
+
| `c1-t2` — Grade 5 · Claim 1 · Target 2 (Central Ideas) | multiple-choice | multi-select | ebsr | hot-text | short-text |
|
|
367
426
|
| `c1-t9` — Grade 5 · Claim 1 · Target 9 (Central Ideas) | multiple-choice | multi-select | ebsr | hot-text | short-text |
|
|
427
|
+
| `c1-t1` — Grade 5 · Claim 1 · Target 1 (Key Details) | multiple-choice | multi-select | hot-text | — | — |
|
|
368
428
|
| `c1-t8` — Grade 5 · Claim 1 · Target 8 (Key Details) | multiple-choice | multi-select | hot-text | — | — |
|
|
369
429
|
| `c1-t10` — Grade 5 · Claim 1 · Target 10 (Word Meanings) | multiple-choice | multi-select | hot-text | — | — |
|
|
370
430
|
<!-- GENERATED:task-models END -->
|
|
@@ -374,10 +434,14 @@ model 3"), **resolve it against the row for the program's `target`** in the tabl
|
|
|
374
434
|
T4/T11 default. Before composing, echo the resolution, e.g. `target c1-t9, TM3 → ebsr`, and author
|
|
375
435
|
that item type.
|
|
376
436
|
|
|
377
|
-
**
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
437
|
+
**Author it whenever the request specifies a task model.** When the request names a task model —
|
|
438
|
+
by number ("TM3") or via an item type that implies one — author the resolved number directly on the
|
|
439
|
+
outcome as `task-model tm3` (alongside `type`). The compiler resolves it against the target's table
|
|
440
|
+
and **hard-errors on a mismatch** with `type` (or supplies `type` when you omit it) — so
|
|
441
|
+
`outcome … task-model tm3 type ebsr` on `c1-t9` is self-checking, and `task-model tm3 type
|
|
442
|
+
short-text` is rejected. It stays optional (the compiler emits a non-blocking warning when an
|
|
443
|
+
outcome omits it), but specifying it makes the task model explicit and verifiable — so include it
|
|
444
|
+
whenever it is known.
|
|
381
445
|
|
|
382
446
|
The task-model mapping and Part-A choices below are the **Reasoning & Evidence (T4/T11)** catalog
|
|
383
447
|
(EBSR → Task Model 1, Hot Text → Task Model 2, Short Text → Task Model 3; task = inference vs.
|
|
@@ -517,17 +581,17 @@ targets.
|
|
|
517
581
|
|
|
518
582
|
## Built-in enumerations
|
|
519
583
|
|
|
520
|
-
- `target`: `c1-t4`, `c1-t11`, `c1-t9`, `c1-t8`, `c1-t10` (top level; always author one — defaults to `c1-t4` if omitted)
|
|
584
|
+
- `target`: `c1-t4`, `c1-t11`, `c1-t2`, `c1-t9`, `c1-t1`, `c1-t8`, `c1-t10` (top level; always author one — defaults to `c1-t4` if omitted)
|
|
521
585
|
- `grade`: a number (top level, optional; defaults to the target's grade — 5 for all current targets)
|
|
522
586
|
- item `type`: `ebsr`, `hot-text`, `short-text`, `multiple-choice`, `multi-select` · passage `type`: `literary`, `informational`
|
|
523
|
-
(allowed per target — T4/T11: ebsr/hot-text/short-text · T9:
|
|
587
|
+
(allowed per target — T4/T11: ebsr/hot-text/short-text · T2/T9: all five · T1/T8/T10: multiple-choice/multi-select/hot-text)
|
|
524
588
|
- `dimension` (**c1-t4**): `character`, `setting`, `event`, `point-of-view`, `theme`, `topic`, `narrators-feelings`, `character-relationship`
|
|
525
589
|
- `dimension` (**c1-t11**): `relationships-interactions`, `author-use-of-information`, `point-of-view`, `purpose`, `authors-opinion`
|
|
526
|
-
- `dimension` (**c1-t9**): `central-idea`, `key-detail`, `summary` · (**c1-t8**): `supporting-evidence` · (**c1-t10**): `word-meaning`
|
|
590
|
+
- `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`
|
|
527
591
|
- claim `status`: `supported`, `distractor` · source `status`: `directly-supports`, `supports-wrong-claim`, `irrelevant` · meaning `status` (c1-t10): `correct`, `distractor`
|
|
528
|
-
- `error-type` (**c1-t4 / c1-t11**): `misreads-detail`, `erroneous-inference`, `faulty-reasoning` · (**c1-t9**): `too-narrow`, `too-broad`, `misreads-detail`, `insignificant` · (**c1-t8**): none — wrong answers are non-supporting `source`s · (**c1-t10**): `other-meaning`, `misinterprets`, `wrong-context`
|
|
529
|
-
- `standard` — primary companions (normally inferred from the dimension; author one only to override): (**c1-t4**) `rl-1` + `rl-2` (theme/topic) / `rl-3` / `rl-6` · (**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-t10**) `ri-4` + `l-4` / `l-4a` / `l-4b` / `l-4c` / `l-5c`. The **full CCSS Grade-5 strand for the target's text type is accepted**: any `rl-1`–`rl-7` / `rl-9` on a literary target (c1-t4), any `ri-1`–`ri-9` on an informational target (c1-t11/t9/t8/t10), plus the `l-4` / `l-5` families on c1-t10. (`rl-2` is the theme standard — valid; there is no `rl-8`.)
|
|
530
|
-
- `dok`: `r-dok1`, `r-dok2`, `r-dok3` (R&E items are `r-dok3`; T9 selected-response is `r-dok2`,
|
|
592
|
+
- `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 — wrong answers are non-supporting `source`s · (**c1-t10**): `other-meaning`, `misinterprets`, `wrong-context`
|
|
593
|
+
- `standard` — primary companions (normally inferred from the dimension; author one only to override): (**c1-t4**) `rl-1` + `rl-2` (theme/topic) / `rl-3` / `rl-6` · (**c1-t11**) `ri-1` + `ri-3` / `ri-6` / `ri-7` / `ri-8` · (**c1-t2**) `rl-1` + `rl-2` (every dimension) · (**c1-t9**) `ri-1` + `ri-2` · (**c1-t1**) `rl-1` **alone** (no companion) · (**c1-t8**) `ri-1` + `ri-7` · (**c1-t10**) `ri-4` + `l-4` / `l-4a` / `l-4b` / `l-4c` / `l-5c`. The **full CCSS Grade-5 strand for the target's text type is accepted**: any `rl-1`–`rl-7` / `rl-9` on a literary target (c1-t4/c1-t2/c1-t1), any `ri-1`–`ri-9` on an informational target (c1-t11/t9/t8/t10), plus the `l-4` / `l-5` families on c1-t10. (`rl-2` is the theme standard — valid; there is no `rl-8`.)
|
|
594
|
+
- `dok`: `r-dok1`, `r-dok2`, `r-dok3` (R&E items are `r-dok3`; T2/T9 selected-response is `r-dok2`, the written response `r-dok3`; T1, T8 & T10 are `r-dok2`)
|
|
531
595
|
|
|
532
596
|
## What composition does
|
|
533
597
|
|
|
@@ -540,6 +604,10 @@ It never generates content or stems — author them.
|
|
|
540
604
|
|
|
541
605
|
## Example (Target 4, literary)
|
|
542
606
|
|
|
607
|
+
Balance the option lengths — a correct answer noticeably longer than the foils is findable without
|
|
608
|
+
reading (the compiler warns past 1.35×). For EBSR, author at least **5** non-supporting evidence
|
|
609
|
+
lines so Part B has real foils to choose from.
|
|
610
|
+
|
|
543
611
|
```
|
|
544
612
|
target c1-t4
|
|
545
613
|
passage "The Tide Pool"
|
|
@@ -547,37 +615,46 @@ type literary
|
|
|
547
615
|
/* lines are PARAGRAPHS, auto-numbered 1..N; EBSR Part B sources `quote` the exact sentence */
|
|
548
616
|
lines [
|
|
549
617
|
"Mara crouched at the edge of the tide pool, ignoring the picnic behind her. Her brother called twice, but she did not turn around. A tiny crab scuttled under a rock, and Mara smiled for the first time all day."
|
|
550
|
-
"She traced the cold water as if the pool were the only thing that mattered. Behind her, paper plates rustled and her mother laughed."
|
|
618
|
+
"She traced the cold water as if the pool were the only thing that mattered. Behind her, paper plates rustled and her mother laughed. Someone asked whether she wanted a sandwich, and she said nothing at all."
|
|
619
|
+
"Her brother stacked a small tower of stones near the blanket. The tide crept in and filled the pool to its rim. Only when her father folded the last chair did Mara stand up. She looked back at the water twice on the walk to the car."
|
|
551
620
|
]
|
|
552
621
|
claims [
|
|
553
622
|
claim id "c1" status supported dimension character subject "Mara"
|
|
554
|
-
text "Mara
|
|
555
|
-
cites ["e1" "e3"] {}
|
|
623
|
+
text "Mara cares more about the tide pool than about the picnic."
|
|
624
|
+
cites ["e1" "e3" "e4"] {}
|
|
556
625
|
/* at least 5 viable distractors targeting q1; the item draws 3 (one per error type) */
|
|
557
626
|
claim id "c2" status distractor error-type misreads-detail plausibility 0.85 targets ["q1"]
|
|
558
|
-
text "Mara is angry at her brother."
|
|
627
|
+
text "Mara is angry at her brother for calling her twice."
|
|
559
628
|
rationale "Not turning around shows absorption, not anger." cites ["e2"] {}
|
|
560
629
|
claim id "c3" status distractor error-type misreads-detail plausibility 0.6 targets ["q1"]
|
|
561
|
-
text "Mara is bored and wants to
|
|
630
|
+
text "Mara is bored by the pool and wants to go home."
|
|
562
631
|
rationale "Her stillness is focus, not boredom (the crab makes her smile)." cites ["e2"] {}
|
|
563
632
|
claim id "c4" status distractor error-type erroneous-inference plausibility 0.55 targets ["q1"]
|
|
564
|
-
text "Mara
|
|
633
|
+
text "Mara would rather be indoors than out at the beach."
|
|
565
634
|
rationale "Over-generalizes from her quiet to a dislike the text contradicts." cites ["e3"] {}
|
|
566
635
|
claim id "c5" status distractor error-type erroneous-inference plausibility 0.5 targets ["q1"]
|
|
567
|
-
text "Mara is waiting for her brother to
|
|
636
|
+
text "Mara is waiting for her brother to come look with her."
|
|
568
637
|
rationale "Invents a goal the passage never states." cites ["e2"] {}
|
|
569
638
|
claim id "c6" status distractor error-type faulty-reasoning plausibility 0.45 targets ["q1"]
|
|
570
|
-
text "
|
|
639
|
+
text "Mara is quiet, so something must have upset her."
|
|
571
640
|
rationale "Treats quiet as upset without textual support." cites ["e2"] {}
|
|
572
641
|
]
|
|
573
642
|
evidence [
|
|
574
643
|
/* `line` = the paragraph; `quote` = the exact supporting sentence shown as the Part B option */
|
|
575
644
|
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"] {}
|
|
576
|
-
source id "e2" line 1 quote "Her brother called twice, but she did not turn around." status supports-wrong-claim supports ["c1" "c2"] {}
|
|
577
645
|
source id "e3" line 1 quote "A tiny crab scuttled under a rock, and Mara smiled for the first time all day." status directly-supports supports ["c1"] {}
|
|
646
|
+
source id "e4" line 2 quote "She traced the cold water as if the pool were the only thing that mattered." status directly-supports supports ["c1"] {}
|
|
647
|
+
source id "e8" line 3 quote "She looked back at the water twice on the walk to the car." status directly-supports supports ["c1"] {}
|
|
648
|
+
/* NO-GIVEAWAY: at least one supports-wrong-claim line lists BOTH the correct claim and a
|
|
649
|
+
distractor, so Part B does not telegraph Part A */
|
|
650
|
+
source id "e2" line 1 quote "Her brother called twice, but she did not turn around." status supports-wrong-claim supports ["c1" "c2"] {}
|
|
651
|
+
source id "e5" line 2 quote "Someone asked whether she wanted a sandwich, and she said nothing at all." status supports-wrong-claim supports ["c1" "c6"] {}
|
|
652
|
+
source id "e6" line 2 quote "Behind her, paper plates rustled and her mother laughed." status irrelevant supports [] {}
|
|
653
|
+
source id "e7" line 3 quote "Her brother stacked a small tower of stones near the blanket." status irrelevant supports [] {}
|
|
654
|
+
source id "e9" line 3 quote "The tide crept in and filled the pool to its rim." status irrelevant supports [] {}
|
|
578
655
|
]
|
|
579
656
|
outcomes [
|
|
580
|
-
outcome id "q1" type ebsr dimension character subject "Mara" standard rl-1 focus "c1"
|
|
657
|
+
outcome id "q1" type ebsr task-model tm1 dimension character subject "Mara" standard rl-1 focus "c1"
|
|
581
658
|
stem "Which of these inferences about Mara is supported by the passage?"
|
|
582
659
|
stem-b "Which sentence(s) from the passage best support your answer in Part A?" {}
|
|
583
660
|
]
|
|
@@ -588,12 +665,67 @@ outcomes [
|
|
|
588
665
|
`type informational`, an RI dimension like `relationships-interactions`, `standard ri-1` + `ri-3`,
|
|
589
666
|
and the T11 stems from `stems.md`.)
|
|
590
667
|
|
|
668
|
+
## Example (Target 2 — Central Ideas, **literary**, theme)
|
|
669
|
+
|
|
670
|
+
Same shape as Target 9 over a story. The T2 differences: **`theme`** is the dimension of choice and
|
|
671
|
+
the correct answer reads as a *lesson*, not a plot event; every dimension answers to `rl-2`, so
|
|
672
|
+
`standards` composes to `["rl-1", "rl-2"]`. A `summary` item on T2 must be scoped to a section or
|
|
673
|
+
key event — never the whole text. Keep the four options about the same length.
|
|
674
|
+
|
|
675
|
+
```
|
|
676
|
+
target c1-t2
|
|
677
|
+
passage "The Blue Ribbon"
|
|
678
|
+
type literary
|
|
679
|
+
lines [
|
|
680
|
+
"Every spring, Tessa entered her drawing in the county fair."
|
|
681
|
+
"This year she almost did not enter at all."
|
|
682
|
+
"Tessa drew the same barn eleven times before she kept one."
|
|
683
|
+
"At the fair, the blue ribbon went to somebody else."
|
|
684
|
+
"Then a teacher asked to hang Tessa's drawing in the hall."
|
|
685
|
+
]
|
|
686
|
+
claims [
|
|
687
|
+
claim id "c1" status supported dimension theme subject "Tessa"
|
|
688
|
+
text "Keeping at something can matter more than winning."
|
|
689
|
+
cites ["e3" "e5"] {}
|
|
690
|
+
/* T2 distractors are the SIGNIFICANCE taxonomy — usually true, just not the theme.
|
|
691
|
+
Keep `insignificant` foils plausible: too trivial and no student would pick them. */
|
|
692
|
+
claim id "d1" status distractor error-type too-narrow targets ["q1"]
|
|
693
|
+
text "Tessa entered the county fair every single spring."
|
|
694
|
+
rationale "A true detail from the opening, not the story's theme." cites ["e1"] {}
|
|
695
|
+
claim id "d2" status distractor error-type too-broad targets ["q1"]
|
|
696
|
+
text "Hard work always makes a person famous someday."
|
|
697
|
+
rationale "Overgeneralizes far past what the story shows." cites ["e5"] {}
|
|
698
|
+
claim id "d3" status distractor error-type misreads-detail targets ["q1"]
|
|
699
|
+
text "Tessa gave up drawing after she lost again."
|
|
700
|
+
rationale "Misreads the ending; she keeps drawing and is lifted by it." cites ["e2"] {}
|
|
701
|
+
claim id "d4" status distractor error-type insignificant targets ["q1"]
|
|
702
|
+
text "Tessa's grandmother owned more than one pencil."
|
|
703
|
+
rationale "True but far too minor to be the theme." cites ["e1"] {}
|
|
704
|
+
claim id "d5" status distractor error-type too-narrow targets ["q1"]
|
|
705
|
+
text "Tessa drew a barn instead of drawing a house."
|
|
706
|
+
rationale "A single detail of the drawing, not what the story means." cites ["e3"] {}
|
|
707
|
+
]
|
|
708
|
+
evidence [
|
|
709
|
+
source id "e3" line 3 status directly-supports supports ["c1"] quote "Tessa drew the same barn eleven times before she kept one." {}
|
|
710
|
+
source id "e5" line 5 status directly-supports supports ["c1"] quote "Then a teacher asked to hang Tessa's drawing in the hall." {}
|
|
711
|
+
source id "e1" line 1 status supports-wrong-claim supports ["c1" "d1"] quote "Every spring, Tessa entered her drawing in the county fair." {}
|
|
712
|
+
source id "e2" line 2 status supports-wrong-claim supports ["c1" "d3"] quote "This year she almost did not enter at all." {}
|
|
713
|
+
source id "e4" line 4 status irrelevant supports [] quote "At the fair, the blue ribbon went to somebody else." {}
|
|
714
|
+
]
|
|
715
|
+
outcomes [
|
|
716
|
+
outcome id "q1" type multiple-choice task-model tm1 dimension theme subject "Tessa" focus "c1"
|
|
717
|
+
stem "Which sentence best tells the theme of the passage?" {}
|
|
718
|
+
]
|
|
719
|
+
{}..
|
|
720
|
+
```
|
|
721
|
+
|
|
591
722
|
## Example (Target 9 — Central Ideas, multiple-choice)
|
|
592
723
|
|
|
593
724
|
The OPTIONS are still `claim`s, but the skill is the **main idea** (not infer-and-justify) and the
|
|
594
725
|
distractors are the **significance** taxonomy — usually true statements that just aren't central.
|
|
595
726
|
DOK is `r-dok2`; the standards are `ri-1` + `ri-2`. (No EBSR Part B here; on T9 EBSR/Hot-Text the
|
|
596
727
|
correct claim's `directly-supports` sources are the supporting selection.)
|
|
728
|
+
Keep the four options about the same length — a longer correct answer is a giveaway.
|
|
597
729
|
|
|
598
730
|
```
|
|
599
731
|
target c1-t9
|
|
@@ -604,14 +736,14 @@ lines [
|
|
|
604
736
|
]
|
|
605
737
|
claims [
|
|
606
738
|
claim id "c1" status supported dimension central-idea subject "the colony" standard ri-2
|
|
607
|
-
text "Honeybees survive
|
|
739
|
+
text "Honeybees survive because each bee does a job for the colony."
|
|
608
740
|
cites ["e1"] {}
|
|
609
741
|
/* T9 distractors are usually TRUE statements that simply aren't the central idea */
|
|
610
742
|
claim id "d1" status distractor error-type too-narrow targets ["q1"]
|
|
611
|
-
text "The queen bee lays all the eggs."
|
|
743
|
+
text "The queen bee lays all of the eggs for the colony."
|
|
612
744
|
rationale "A true supporting detail, not the central idea." cites ["e1"] {}
|
|
613
745
|
claim id "d2" status distractor error-type too-broad targets ["q1"]
|
|
614
|
-
text "Insects are the most important animals on
|
|
746
|
+
text "Insects are the most important animals on the planet."
|
|
615
747
|
rationale "An overgeneralization beyond the passage." cites ["e1"] {}
|
|
616
748
|
claim id "d3" status distractor error-type misreads-detail targets ["q1"]
|
|
617
749
|
text "Each bee in the colony does every job by itself."
|
|
@@ -619,41 +751,82 @@ claims [
|
|
|
619
751
|
]
|
|
620
752
|
evidence [ source id "e1" line 1 status directly-supports supports ["c1"] {} ]
|
|
621
753
|
outcomes [
|
|
622
|
-
outcome id "q1" type multiple-choice dimension central-idea subject "the colony" standard ri-2 focus "c1"
|
|
754
|
+
outcome id "q1" type multiple-choice task-model tm1 dimension central-idea subject "the colony" standard ri-2 focus "c1"
|
|
623
755
|
stem "Which sentence best shows the main idea of the passage?" {}
|
|
624
756
|
]
|
|
625
757
|
{}..
|
|
626
758
|
```
|
|
627
759
|
|
|
760
|
+
## Example (Target 1 — Key Details, **literary**, evidence selection)
|
|
761
|
+
|
|
762
|
+
Same model as Target 8 over a story: the inference is **GIVEN in the stem** and the OPTIONS are
|
|
763
|
+
passage `source`s. The T1 difference is the standard — **`rl-1` alone**, so omit `standard` and let
|
|
764
|
+
the dimension resolve it. DOK `r-dok2`.
|
|
765
|
+
|
|
766
|
+
```
|
|
767
|
+
target c1-t1
|
|
768
|
+
passage "The Loose Board"
|
|
769
|
+
type literary
|
|
770
|
+
lines [
|
|
771
|
+
"Nina had walked past Mr. Ruiz's crooked porch a hundred times. The third board rocked under her feet every time she crossed it. On Saturday she stopped, because someone had left a hammer on the step. She looked up and down the empty street. Then she knelt down and set the first nail without anyone asking her to. Her arm ached by the fourth nail, but she did not quit. Mr. Ruiz never learned who had fixed his porch."
|
|
772
|
+
]
|
|
773
|
+
claims [
|
|
774
|
+
claim id "c1" status supported dimension supporting-evidence subject "Nina"
|
|
775
|
+
text "Nina takes care of a problem on her own, without being told to." cites ["e1" "e2"] {}
|
|
776
|
+
]
|
|
777
|
+
evidence [
|
|
778
|
+
source id "e1" line 1 quote "Then she knelt down and set the first nail without anyone asking her to." status directly-supports supports ["c1"] {}
|
|
779
|
+
source id "e2" line 1 quote "Mr. Ruiz never learned who had fixed his porch." status directly-supports supports ["c1"] {}
|
|
780
|
+
source id "e3" line 1 quote "The third board rocked under her feet every time she crossed it." status irrelevant supports [] rationale "Describes the problem, not Nina's choice to act." {}
|
|
781
|
+
source id "e4" line 1 quote "On Saturday she stopped, because someone had left a hammer on the step." status irrelevant supports [] rationale "Invites the erroneous inference that she helped only because a tool was there." {}
|
|
782
|
+
source id "e5" line 1 quote "Nina had walked past Mr. Ruiz's crooked porch a hundred times." status irrelevant supports [] rationale "Tells how often she passed, not that she acted on her own." {}
|
|
783
|
+
source id "e6" line 1 quote "She looked up and down the empty street." status irrelevant supports [] rationale "Sets the scene; shows no action Nina took." {}
|
|
784
|
+
source id "e7" line 1 quote "Her arm ached by the fourth nail, but she did not quit." status irrelevant supports [] rationale "Shows persistence once she had started, not that she started unasked." {}
|
|
785
|
+
]
|
|
786
|
+
outcomes [
|
|
787
|
+
outcome id "q1" type multiple-choice task-model tm1 dimension supporting-evidence subject "Nina" focus "c1"
|
|
788
|
+
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?" {}
|
|
789
|
+
]
|
|
790
|
+
{}..
|
|
791
|
+
```
|
|
792
|
+
|
|
628
793
|
## Example (Target 8 — Key Details, evidence selection)
|
|
629
794
|
|
|
630
795
|
The inference is **GIVEN in the stem**; the OPTIONS are passage `source`s, not claims. Author ONE
|
|
631
796
|
supported `claim` (the given inference, named by `focus`), state it in the `stem`, and author the
|
|
632
797
|
`source`s as the choices: `directly-supports` = correct evidence (give each a `quote`),
|
|
633
|
-
`irrelevant`/`supports-wrong-claim` = foils. **No distractor claims.**
|
|
634
|
-
DOK `r-dok2`.
|
|
798
|
+
`irrelevant`/`supports-wrong-claim` = foils (give each a `rationale`). **No distractor claims.**
|
|
799
|
+
Standards `ri-1` + `ri-7`, DOK `r-dok2`.
|
|
800
|
+
|
|
801
|
+
**Keep the conclusion a real inference, not a paraphrase of one sentence.** The stem states the
|
|
802
|
+
conclusion and the key is the evidence for it, so if the conclusion just restates the correct
|
|
803
|
+
source, the option that echoes the stem gives itself away (the compiler warns). Pitch the claim one
|
|
804
|
+
step above the text — here, *careful planning*, which no single sentence says outright — and author
|
|
805
|
+
at least **5** non-supporting sources so the best foils can be chosen.
|
|
635
806
|
|
|
636
807
|
```
|
|
637
808
|
target c1-t8
|
|
638
809
|
passage "Aqueducts"
|
|
639
810
|
type informational
|
|
640
811
|
lines [
|
|
641
|
-
"
|
|
812
|
+
"Rome needed more fresh water than its wells could give. Workers built long channels called aqueducts to carry water to the city. They tilted each channel down just a little, so the water moved on its own. Where the land dropped away, they raised the channel on tall stone arches. Some aqueducts started at springs sixty miles from the city. Crews walked the channels often and cleaned out leaves and mud. People in Rome filled their jugs at open fountains."
|
|
642
813
|
]
|
|
643
814
|
claims [
|
|
644
815
|
claim id "c1" status supported dimension supporting-evidence subject "the aqueducts"
|
|
645
|
-
text "Roman
|
|
816
|
+
text "Roman engineers planned the aqueducts carefully." cites ["e1" "e2"] {}
|
|
646
817
|
]
|
|
647
818
|
evidence [
|
|
648
|
-
source id "e1" line 1 quote "
|
|
649
|
-
source id "e2" line 1 quote "
|
|
650
|
-
source id "e3" line 1 quote "
|
|
651
|
-
source id "e4" line 1 quote "
|
|
652
|
-
source id "e5" line 1 quote "
|
|
819
|
+
source id "e1" line 1 quote "They tilted each channel down just a little, so the water moved on its own." status directly-supports supports ["c1"] {}
|
|
820
|
+
source id "e2" line 1 quote "Where the land dropped away, they raised the channel on tall stone arches." status directly-supports supports ["c1"] {}
|
|
821
|
+
source id "e3" line 1 quote "Rome needed more fresh water than its wells could give." status irrelevant supports [] rationale "Gives the reason for building, not evidence that the building was planned with care." {}
|
|
822
|
+
source id "e4" line 1 quote "Workers built long channels called aqueducts to carry water to the city." status irrelevant supports [] rationale "Says what was built; a student may read any construction detail as proof of planning." {}
|
|
823
|
+
source id "e5" line 1 quote "Some aqueducts started at springs sixty miles from the city." status irrelevant supports [] rationale "A fact about scale — impressive, but it shows distance rather than design choices." {}
|
|
824
|
+
source id "e6" line 1 quote "Crews walked the channels often and cleaned out leaves and mud." status irrelevant supports [] rationale "Describes upkeep after the aqueducts were finished, not the planning behind them." {}
|
|
825
|
+
source id "e7" line 1 quote "People in Rome filled their jugs at open fountains." status irrelevant supports [] rationale "Describes how people used the water; unrelated to how the system was designed." {}
|
|
653
826
|
]
|
|
654
827
|
outcomes [
|
|
655
|
-
outcome id "q1" type multiple-choice dimension supporting-evidence subject "the aqueducts" standard ri-7 focus "c1"
|
|
656
|
-
stem "
|
|
828
|
+
outcome id "q1" type multiple-choice task-model tm1 dimension supporting-evidence subject "the aqueducts" standard ri-7 focus "c1"
|
|
829
|
+
stem "The reader can conclude that Roman engineers planned the aqueducts carefully. Which detail from the passage best supports this conclusion?" {}
|
|
657
830
|
]
|
|
658
831
|
{}..
|
|
659
832
|
```
|
|
@@ -675,17 +848,17 @@ lines [
|
|
|
675
848
|
words [
|
|
676
849
|
word id "w1" text "aqueduct" line 1 quote "The aqueduct carried water across long distances."
|
|
677
850
|
meanings [
|
|
678
|
-
meaning id "m1" status correct text "a channel
|
|
851
|
+
meaning id "m1" status correct text "a channel that carries water" {}
|
|
679
852
|
meaning id "m2" status distractor error-type other-meaning text "a boat that carries cargo"
|
|
680
853
|
rationale "Another meaning that ignores the context." {}
|
|
681
|
-
meaning id "m3" status distractor error-type misinterprets text "a tall stone
|
|
854
|
+
meaning id "m3" status distractor error-type misinterprets text "a tall tower made of stone"
|
|
682
855
|
rationale "Misreads the sentence." {}
|
|
683
|
-
meaning id "m4" status distractor error-type wrong-context text "a
|
|
856
|
+
meaning id "m4" status distractor error-type wrong-context text "a road that crosses a valley"
|
|
684
857
|
rationale "Uses the wrong context." {}
|
|
685
858
|
] {}
|
|
686
859
|
]
|
|
687
860
|
outcomes [
|
|
688
|
-
outcome id "q1" type multiple-choice dimension word-meaning subject "aqueduct" standard l-4a focus "w1"
|
|
861
|
+
outcome id "q1" type multiple-choice task-model tm1 dimension word-meaning subject "aqueduct" standard l-4a focus "w1"
|
|
689
862
|
stem "Read the sentence: \"The aqueduct carried water across long distances.\" What does the word aqueduct most likely mean?" {}
|
|
690
863
|
]
|
|
691
864
|
{}..
|