@graffiticode/l0175 0.2.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 +94 -130
- package/dist/compiler.js.map +1 -1
- package/dist/embedding.d.ts +1 -0
- package/dist/embedding.d.ts.map +1 -1
- package/dist/embedding.js +105 -11
- package/dist/embedding.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lexicon.d.ts +7 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lexicon.js +16 -8
- package/dist/lexicon.js.map +1 -1
- package/dist/static/examples.md +105 -0
- package/dist/static/instructions.md +397 -47
- package/dist/static/language-info.json +19 -4
- package/dist/static/lexicon.json +112 -0
- package/dist/static/scope.json +9 -8
- package/dist/static/spec.html +81 -15
- package/dist/static/stems.md +181 -5
- package/dist/static/targets.json +279 -0
- package/dist/static/template.gc +7 -67
- package/dist/static/unparse-hints.json +3 -0
- package/dist/static/usage-guide.md +48 -5
- package/dist/targets.d.ts +27 -0
- package/dist/targets.d.ts.map +1 -0
- package/dist/targets.js +250 -0
- package/dist/targets.js.map +1 -0
- package/dist/verify-example.d.ts +27 -0
- package/dist/verify-example.d.ts.map +1 -0
- package/dist/verify-example.js +82 -0
- package/dist/verify-example.js.map +1 -0
- package/package.json +2 -2
- package/spec/#template.gc# +20 -0
- package/spec/docs.md +51 -16
- 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-t10-tm1-multiplechoice.expect.json +1 -0
- package/spec/examples/c1-t10-tm1-multiplechoice.gc +15 -0
- package/spec/examples/c1-t10-tm2-multiselect.expect.json +1 -0
- package/spec/examples/c1-t10-tm2-multiselect.gc +15 -0
- package/spec/examples/c1-t10-tm3-hottext.expect.json +1 -0
- package/spec/examples/c1-t10-tm3-hottext.gc +13 -0
- package/spec/examples/c1-t11-tm1-ebsr.expect.json +4 -0
- package/spec/examples/c1-t11-tm1-ebsr.gc +30 -0
- package/spec/examples/c1-t11-tm2-hottext.expect.json +4 -0
- package/spec/examples/c1-t11-tm2-hottext.gc +30 -0
- package/spec/examples/c1-t11-tm3-shorttext.expect.json +4 -0
- package/spec/examples/c1-t11-tm3-shorttext.gc +30 -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/c1-t4-tm1-ebsr.expect.json +4 -0
- package/spec/examples/c1-t4-tm1-ebsr.gc +30 -0
- package/spec/examples/c1-t4-tm2-hottext.expect.json +4 -0
- package/spec/examples/c1-t4-tm2-hottext.gc +30 -0
- package/spec/examples/c1-t4-tm3-shorttext.expect.json +4 -0
- package/spec/examples/c1-t4-tm3-shorttext.gc +30 -0
- package/spec/examples/c1-t8-tm1-multiplechoice.expect.json +1 -0
- package/spec/examples/c1-t8-tm1-multiplechoice.gc +25 -0
- package/spec/examples/c1-t8-tm2-multiselect.expect.json +1 -0
- package/spec/examples/c1-t8-tm2-multiselect.gc +25 -0
- package/spec/examples/c1-t8-tm3-hottext.expect.json +1 -0
- package/spec/examples/c1-t8-tm3-hottext.gc +25 -0
- package/spec/examples/c1-t9-tm1-multiplechoice.expect.json +1 -0
- package/spec/examples/c1-t9-tm1-multiplechoice.gc +23 -0
- package/spec/examples/c1-t9-tm2-multiselect.expect.json +1 -0
- package/spec/examples/c1-t9-tm2-multiselect.gc +24 -0
- package/spec/examples/c1-t9-tm3-ebsr.expect.json +10 -0
- package/spec/examples/c1-t9-tm3-ebsr.gc +30 -0
- package/spec/examples/c1-t9-tm4-hottext.expect.json +10 -0
- package/spec/examples/c1-t9-tm4-hottext.gc +20 -0
- package/spec/examples/c1-t9-tm5-shorttext.expect.json +10 -0
- package/spec/examples/c1-t9-tm5-shorttext.gc +20 -0
- package/spec/examples.md +100 -86
- package/spec/instructions.md +367 -44
- package/spec/language-info.json +18 -3
- package/spec/rag-examples-design.md +74 -0
- package/spec/scope.json +9 -8
- package/spec/spec.md +90 -15
- package/spec/stems.md +181 -5
- package/spec/template.gc +7 -67
- package/spec/usage-guide.md +48 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"revised": "2026-
|
|
2
|
+
"revised": "2026-08-28",
|
|
3
3
|
"id": "0175",
|
|
4
|
-
"description": "Composes 5th-grade English Language Arts assessment items (Smarter Balanced · Grade 5 · Claim 1) for multiple learning targets — DIFFERENT reading skills: c1-t4 (Reasoning & Evidence, literary, RL) and c1-t11 (Reasoning & Evidence, informational, RI) ask students to infer/conclude and justify with evidence; c1-t9 (Central Ideas, informational, RI-1/RI-2) asks them to determine the main idea, the key details that build it, or summarize; c1-t8 (Key Details, informational, RI-1/RI-7)
|
|
4
|
+
"description": "Composes 5th-grade English Language Arts assessment items (Smarter Balanced · Grade 5 · Claim 1) for multiple learning targets — DIFFERENT reading skills: c1-t4 (Reasoning & Evidence, literary, RL) and c1-t11 (Reasoning & Evidence, informational, RI) ask students to infer/conclude and justify with evidence; c1-t9 (Central Ideas, informational, RI-1/RI-2) asks them to determine the main idea, the key details that build it, or summarize, and c1-t2 (Central Ideas, LITERARY, RL-1/RL-2) does the same for a story — but there THEME leads (the correct answer is a lesson or message, not a plot event) and a summary must be scoped to a section or key event, never the whole text; c1-t1 (Key Details, LITERARY, RL-1 alone) and c1-t8 (Key Details, informational, RI-1/RI-7) GIVE the inference in the stem and ask them to select the supporting evidence (the options are passage sources, not statements; item types multiple-choice/multi-select/single-part-hot-text) — pick c1-t1 for a story, c1-t8 for an article; c1-t10 (Word Meanings, informational, RI-4/L-4) asks for the meaning of a targeted word/phrase in context (the options are MEANINGS, authored as a `word` with candidate `meaning`s — not claims; item types multiple-choice/multi-select, plus a click-the-word hot-text — for that, author the candidate `word`s as a top-level `words` list: the correct one is the outcome's `focus` (give it the `line` of its paragraph) and the others are distractor candidate words; ALL candidates must be words that appear in that one paragraph (they need only `text` — no `meanings`). The compiler shows the whole paragraph and makes the authored candidate words clickable, with the focus word correct (if you author only the correct word, every content word in the paragraph becomes a choice). The `stem` is only the instruction + the definition (e.g. 'Read the paragraph below. Click the word that means …') — never paste the paragraph into the stem). Every program declares a top-level `target` selecting the dimension/standard/error-type/DOK/stem vocabulary. Item-first: a program authors the questions (outcomes) first — each with a unique id, a focus correct claim (a list on multi-select), and a stem from the target's guideline catalog — then supported and distractor claims (each distractor targets the question(s) it foils) and evidence sources for one passage. Item types: ebsr (two-part), hot-text, short-text, multiple-choice (one correct), multi-select (exact correct set); the allowed set is per-target. Task-model NUMBERS are per-target and collide (tm3 = short-text in c1-t4/c1-t11, ebsr in c1-t2/c1-t9, hot-text in c1-t1/c1-t8/c1-t10), so name the item type, or resolve a number against the program's target — never assume the Reasoning & Evidence numbering carries to the other targets (see the per-target task-model table in the usage guide). T2/T9 distractors are a significance taxonomy (too-narrow/too-broad/misreads-detail/insignificant) — usually true statements that just aren't central — vs R&E's reasoning-error taxonomy. Supply the passage text already split into paragraphs (keep the paragraph breaks). The compiler takes each outcome's focus and the foils that target it and assembles the item; it selects and validates authored content, it does not generate content or stems. Author the passage and all question text at the target reading level (Grade 5; overridable with a top-level `grade <n>`); the compiler estimates the passage's reading level and warns when it runs above the target grade.",
|
|
5
5
|
"supported_item_types": [
|
|
6
6
|
"ebsr",
|
|
7
7
|
"hot-text",
|
|
@@ -65,11 +65,26 @@
|
|
|
65
65
|
"produces": "multi-select",
|
|
66
66
|
"notes": "target c1-t9, type multi-select, dimension summary. `focus` is a LIST of the two correct claims; the compiler emits 5-6 options and the student must select exactly the correct set."
|
|
67
67
|
},
|
|
68
|
+
{
|
|
69
|
+
"prompt": "What is the theme of this story? Make it a two-part item where Part B asks for the sentence that supports it.",
|
|
70
|
+
"produces": "ebsr",
|
|
71
|
+
"notes": "Theme over a LITERARY passage: target c1-t2, type ebsr (task model 3 -- NOT short-text as in c1-t4/c1-t11), dimension theme, standards rl-1+rl-2. Phrase the correct claim as a lesson or message, not a plot event. Distractors are the significance taxonomy (too-narrow/too-broad/misreads-detail/insignificant). No-giveaway: author at least one supports-wrong-claim source listing BOTH the correct claim and a distractor, so Part B does not telegraph Part A."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"prompt": "Have students summarize what happens after the storm in this story, using details from the text.",
|
|
75
|
+
"produces": "short-text",
|
|
76
|
+
"notes": "target c1-t2, type short-text (task model 5), dimension summary, standards rl-1+rl-2, DOK r-dok3. T2 summaries are SCOPED -- the guideline forbids asking students to summarize the entire text, so the stem must name a section or key event. A plain 'summarize the passage' prompt belongs to c1-t9, not c1-t2."
|
|
77
|
+
},
|
|
68
78
|
{
|
|
69
79
|
"prompt": "The article concludes that aqueducts let distant cities get fresh water — make a multiple-choice item asking which detail best supports that conclusion.",
|
|
70
80
|
"produces": "multiple-choice",
|
|
71
81
|
"notes": "Given inference -> evidence selection: target c1-t8, type multiple-choice, dimension supporting-evidence, standards ri-1+ri-7. Author ONE supported claim (the conclusion) at `focus` and state it in the stem; the OPTIONS are sources -- the directly-supports source is correct, supports-wrong-claim/irrelevant sources are foils. No distractor claims."
|
|
72
82
|
},
|
|
83
|
+
{
|
|
84
|
+
"prompt": "In this story, the reader can conclude that Nell regrets what she said — make a multiple-choice item asking which line from the story best supports that conclusion.",
|
|
85
|
+
"produces": "multiple-choice",
|
|
86
|
+
"notes": "Given inference -> evidence selection over a LITERARY passage: target c1-t1, type multiple-choice, dimension supporting-evidence. Same model as c1-t8, but the standard is rl-1 ALONE (the guideline names no companion), so omit `standard` on the outcome. Author ONE supported claim (the conclusion) at `focus` and state it in the stem; the OPTIONS are sources -- the directly-supports source is correct, irrelevant/supports-wrong-claim sources are foils. No distractor claims."
|
|
87
|
+
},
|
|
73
88
|
{
|
|
74
89
|
"prompt": "What does the word 'aqueduct' most likely mean as it is used in the article? (multiple choice)",
|
|
75
90
|
"produces": "multiple-choice",
|
|
@@ -78,8 +93,8 @@
|
|
|
78
93
|
{
|
|
79
94
|
"prompt": "Make a click-the-word item: in the paragraph about the city's water supply, the target word is 'aqueduct' (it means a system of pipes/canals that carries water). Stem: 'Read the paragraph below. Click the word that means a system of pipes or canals that carries water.'",
|
|
80
95
|
"produces": "hot-text",
|
|
81
|
-
"notes": "T10 Task Model 3
|
|
96
|
+
"notes": "T10's click-the-word hot-text (its Task Model 3 — task-model numbers are per-target, so this 3 is specific to c1-t10 and is NOT the same item type as tm3 in other targets): target c1-t10, type hot-text, dimension word-meaning, standard ri-4 + l-4a. Author the focus `word` (e.g. { id \"w1\" text \"aqueduct\" line <paragraph #> }) as the outcome's `focus`, then the DISTRACTOR CANDIDATE WORDS either way: (a) as more single-word `word`s in the `words` list, OR (b) as the focus word's distractor `meanings` whose `text` IS the candidate word — a single word, with error-type + rationale (e.g. text \"causeways\", text \"canals\"). For hot-text the meaning text must be the literal word to click, NOT a definition. ALL candidates must be words that appear in the focus word's paragraph. The compiler shows the whole paragraph (from the focus word's `line`) and makes the candidate words clickable, focus correct. Do NOT put the paragraph in the stem; the stem is only the instruction + definition. (If you author only the focus word with a real multi-word definition, the compiler can't find candidates and falls back to making EVERY content word clickable — avoid that by listing the candidate words.)"
|
|
82
97
|
}
|
|
83
98
|
],
|
|
84
|
-
"authoring_guide": "L0175 is a content-composition language for 5th-grade English Language Arts assessment items (Smarter Balanced spec ELA · Grade 5 · Claim 1 · Reasoning & Evidence). One language serves **multiple learning targets**; **every program first declares a top-level `target`**: `c1-t4` (Target 4 — *literary* texts, RL standards, dimensions like character/theme/point-of-view) or `c1-t11` (Target 11 — *informational* texts, RI standards, dimensions like relationships-interactions/author-use-of-information/point-of-view/purpose). Choose the target from the request (literary vs. informational text and the skill assessed); the dimensions, standards, and stem catalog (`stems.md`) are then scoped to that target, and mixing targets' vocabularies is a compile error. It is **item-first**: after picking the target you compose the questions (`outcome`s) first — each with a unique `id`, a `focus` naming its correct claim, and an explicit `stem` (and `stem-b` on EBSR) instantiated from the guideline's Appropriate-Stem catalog (`stems.md`) — then author the supported `claim`s and a *superset* of distractor `claim`s, each tagging the question(s) it foils via `targets`, plus evidence `source`s. The compiler then *composes* each outcome deterministically: it takes the correct claim from `focus`, draws that question's foils ONLY from the distractors that `targets` it, uses the authored stem, and assembles a finished item in one of three task models: `ebsr` (two-part evidence-based selected response), `hot-text` (select-text), or `short-text` (constructed response). One passage + superset can yield several items, each with its own bound foil set. The compiler performs no generation and no stem synthesis — it selects, validates against the guideline, and warns when a question's pool falls short. Distractors are tagged by the SBAC error taxonomy (Part A: `misreads-detail`, `erroneous-inference`, `faulty-reasoning`; Part B: `supports-wrong-claim`, `irrelevant`), each carrying a rationale; composition picks foils for error-type coverage and couples Part B evidence to the claims it plausibly supports. **For each EBSR/Hot-Text question author at least 5 viable distractors that `targets` it (aim for 5–8, over-generating since some are filtered as near-duplicates or accidentally correct) — covering all three error types with ≥2 alternatives in at least two of them, and giving each a `plausibility` score (0–1). An item draws only 3 foils, so a richer targeted pool yields stronger items; fewer than 3 targeting a question is a hard error, fewer than 5 a warning. Likewise, for EBSR Part B author at least 5 non-supporting evidence lines (`supports-wrong-claim` + `irrelevant`) so the compiler can choose the most tempting 3 foil options. No-giveaway rule: at least one of those `supports-wrong-claim` lines must list BOTH the correct claim's id AND a distractor's id in its `supports` (a line that seems to support the right answer but actually backs a misreading) — otherwise the correct evidence line stands alone, Part B telegraphs Part A, and the compiler warns \"possible A↔B giveaway.\" Do not make every wrong-claim line point only at distractors.**\n\n**Targets are different skills — pick the one the request assesses.** Beyond the two Reasoning &\nEvidence targets above (`c1-t4` literary, `c1-t11` informational — infer/conclude and justify with\nevidence), L0175 also composes **`c1-t9` — Central Ideas** (informational): a *different* skill —\nsynthesize and condense (the main/central idea, the key details that build it, and summary), NOT\ninference. Use `c1-t9` when the request is about the **main idea**, **most important details**, or a\n**summary**; dimensions `central-idea`/`key-detail`/`summary`, standards `ri-1`+`ri-2`, DOK 2 (3 for\nthe written summary). Its distractors are a **significance** taxonomy — usually *true* statements\nthat simply aren't central: `too-narrow` (a supporting detail mistaken for the main idea),\n`too-broad` (an overgeneralization/off-topic), `misreads-detail`, `insignificant` (a minor detail\nthat doesn't belong in a summary). T9 item types are `multiple-choice` (pick the central idea),\n`multi-select` (choose the two sentences that belong in a summary — `focus` is a **list**), `ebsr`\n(central idea → supporting detail), `short-text` (summary), and single-part `hot-text` (click the\nsentence(s) that show the main idea — the `focus` claim's directly-supporting `source`s are the\ncorrect selection). Two new item types — `multiple-choice` (4 options, one correct) and\n`multi-select` (5–6 options, an exact correct set) — are single-part: author the `stem` and a\n`focus`, no Part B.\n\nL0175 also composes **`c1-t8` — Key Details** (informational): the inference/conclusion is **GIVEN\nin the stem** and the student selects the supporting **evidence** (the answer is *evidence*, not a\nchosen statement). Use `c1-t8` when the request **states an idea and asks which detail/sentence\nsupports it**; dimension `supporting-evidence`, standards `ri-1`+`ri-7`, DOK 1–2, item types\n`multiple-choice`, `multi-select`, and **single-part `hot-text`** (no Part A). Author ONE supported\n`claim` = the given inference (its `focus`), state it in the `stem`, and author `source`s as the\noptions: `directly-supports` = correct evidence (with a `quote`), `supports-wrong-claim`/`irrelevant`\n= distractor evidence. No distractor claims.\n\nL0175 also composes **`c1-t10` — Word Meanings** (informational): the question asks for the\n**meaning of a targeted word/phrase in context**, so the answer choices are **meanings**, authored\nas a dedicated `word`/`meaning` structure (not claims). Use `c1-t10` when the request asks **what a\nword/phrase means**; dimension `word-meaning`, standards `ri-4` + the L-4 family (`l-4a` context /\n`l-4b` roots & affixes / `l-5c` word relationships / `l-4c` reference), DOK 1–2, item types\n`multiple-choice`, `multi-select`, and `hot-text` (click the word matching a given definition — the correct word is `focus` with its paragraph's `line`; author the distractor candidate words either as more single-word `word`s OR as the focus word's distractor `meanings` whose `text` is the candidate word itself (a single word, not a definition), ALL appearing in that one paragraph. The compiler shows the paragraph and makes the candidate words clickable, focus correct; if no candidate words are found it falls back to making every content word a choice. The `stem` is only the instruction + definition — never paste the paragraph into the stem). Author a top-level\n`words` list: a `word` (the targeted word, `line`/`quote` for context) with `meanings` — one (MC) or\n≥2 (Multi-Select) `status correct` meanings + `status distractor` meanings (each with a T10\n`error-type` — `other-meaning`/`misinterprets`/`wrong-context` — and a `rationale`). The outcome's\n`focus` names the word; state the word and its context sentence in the `stem`.\n\n**Write at the target grade level.** The grade is the guideline's grade (the target's — Grade 5 for `c1-t4`/`c1-t11`) unless the user's prompt asks for a different grade, in which case author a top-level `grade <n>`. Match the passage AND all question text to that grade: short, mostly simple/compound sentences; concrete, high-frequency vocabulary; an inference drawn from **specific details in the text**, not college-style literary or rhetorical analysis. DOK 3 means strategic reasoning *within* grade-level text — not harder text. The compiler estimates the passage's reading level and warns when it runs above the target grade. See **Grade-appropriate reading level** below.\n\n**Supply the passage already split into paragraphs.** When a request includes or describes the passage text, break it into its paragraphs and keep those breaks — each paragraph becomes one numbered `lines` entry and the rendered passage preserves that paragraph structure. The code generator maintains the paragraphs you provide; it does not re-flow a wall of text into one block or re-chunk it. Separate paragraphs with a blank line (or clearly mark each one) so they survive into the final passage. **Keep paragraphs even for Hot Text** — the compiler segments each paragraph into sentences and makes each one individually selectable in Part B, so the passage keeps its paragraph layout; do not author the passage as one-sentence lines.\n\nWhen composing a request, declare the `target`, then author the passage and outcomes (with their stems) first, then the inference graph (supported claims, then the targeted distractors), then the evidence. The program is one flat builder chain: top-level forms (`target`, `passage`, `type`, `lines`, `claims`, `evidence`, `outcomes`) thread a single continuation and the whole program ends with one `{}..`. Inside the `claims`/`evidence`/`outcomes` lists, each element (`claim`/`source`/`outcome`) is its own attribute chain terminated by its own `{}`. Attribute values that are free text (`text`, `rationale`, `subject`, `stem`, the passage heading) or id labels (`id`, `focus`, `cites`, `supports`, `targets`) are quoted strings; closed-enum values (`target`, `type`, `status`, `dimension`, `error-type`, `standard`, `dok`) are bare kebab-case identifiers (e.g. `c1-t11`, `ebsr`, `directly-supports`, `ri-1`).\n\nIn scope: SBAC Grade 5 · Claim 1 for targets **T4** (Reasoning & Evidence, literary, RL), **T11** (Reasoning & Evidence, informational, RI), **T9** (Central Ideas, informational, RI-1/RI-2), **T8** (Key Details, informational, RI-1/RI-7 — given-inference → evidence selection), and **T10** (Word Meanings, informational, RI-4/L-4 — meaning of a targeted word, authored as `word`/`meaning`); a single passage; the per-target dimensions and distractor taxonomy; item types `ebsr`, `hot-text`, `short-text`, `multiple-choice`, `multi-select` (allowed set varies by target); DOK r-dok1..r-dok3. Out of scope: other claims/grades or Claim-1 targets beyond T4/T11/T9/T8/T10; multi-word-phrase candidates in T10 click-the-word; dual-text stimuli; compile-time LLM generation; auto-scoring of short text; cross-language composition."
|
|
99
|
+
"authoring_guide": "L0175 is a content-composition language for 5th-grade English Language Arts assessment items (Smarter Balanced spec ELA · Grade 5 · Claim 1 · Reasoning & Evidence). One language serves **multiple learning targets**; **every program first declares a top-level `target`**: `c1-t4` (Target 4 — *literary* texts, RL standards, dimensions like character/theme/point-of-view) or `c1-t11` (Target 11 — *informational* texts, RI standards, dimensions like relationships-interactions/author-use-of-information/point-of-view/purpose). Choose the target from the request (literary vs. informational text and the skill assessed); the dimensions, standards, and stem catalog (`stems.md`) are then scoped to that target, and mixing targets' vocabularies is a compile error. It is **item-first**: after picking the target you compose the questions (`outcome`s) first — each with a unique `id`, a `focus` naming its correct claim, and an explicit `stem` (and `stem-b` on EBSR) instantiated from the guideline's Appropriate-Stem catalog (`stems.md`) — then author the supported `claim`s and a *superset* of distractor `claim`s, each tagging the question(s) it foils via `targets`, plus evidence `source`s. The compiler then *composes* each outcome deterministically: it takes the correct claim from `focus`, draws that question's foils ONLY from the distractors that `targets` it, uses the authored stem, and assembles a finished item in the task model named by its item type — for Reasoning & Evidence (T4/T11): `ebsr` (two-part evidence-based selected response), `hot-text` (select-text), or `short-text` (constructed response); other targets also offer `multiple-choice`/`multi-select` (the allowed set and the per-target task-model numbering are in *Vocabulary Cues*). One passage + superset can yield several items, each with its own bound foil set. The compiler performs no generation and no stem synthesis — it selects, validates against the guideline, and warns when a question's pool falls short. Distractors are tagged by the SBAC error taxonomy (Part A: `misreads-detail`, `erroneous-inference`, `faulty-reasoning`; Part B: `supports-wrong-claim`, `irrelevant`), each carrying a rationale; composition picks foils for error-type coverage and couples Part B evidence to the claims it plausibly supports. **For each EBSR/Hot-Text question author at least 5 viable distractors that `targets` it (aim for 5–8, over-generating since some are filtered as near-duplicates or accidentally correct) — covering all three error types with ≥2 alternatives in at least two of them, and giving each a `plausibility` score (0–1). An item draws only 3 foils, so a richer targeted pool yields stronger items; fewer than 3 targeting a question is a hard error, fewer than 5 a warning. Likewise, for EBSR Part B author at least 5 non-supporting evidence lines (`supports-wrong-claim` + `irrelevant`) so the compiler can choose the most tempting 3 foil options. No-giveaway rule: at least one of those `supports-wrong-claim` lines must list BOTH the correct claim's id AND a distractor's id in its `supports` (a line that seems to support the right answer but actually backs a misreading) — otherwise the correct evidence line stands alone, Part B telegraphs Part A, and the compiler warns \"possible A↔B giveaway.\" Do not make every wrong-claim line point only at distractors.**\n\n**Name the item type; task-model NUMBERS are per-target and collide.** Phrase a request by item\ntype (`ebsr` / `hot-text` / `short-text` / `multiple-choice` / `multi-select`) — that is unambiguous.\nTask-model *numbers* (TM1…TM5) are numbered **per target**, so the same number means different things\nin different targets: `tm3` is **short-text** in `c1-t4`/`c1-t11`, **`ebsr`** in `c1-t9`, and\n**`hot-text`** in `c1-t1`/`c1-t8`/`c1-t10`. A bare \"task model 3\" is therefore meaningless without\nits target — never assume the Reasoning & Evidence (T4/T11) numbering carries over to the others. When a\nrequest names a task model by number, resolve it against the **program's target** (see the per-target\ntask-model table in *Vocabulary Cues*) and state the item type, e.g. for `c1-t9` \"task model 3 → EBSR\".\n\n**Targets are different skills — pick the one the request assesses.** Beyond the two Reasoning &\nEvidence targets above (`c1-t4` literary, `c1-t11` informational — infer/conclude and justify with\nevidence), L0175 also composes **`c1-t9` — Central Ideas** (informational): a *different* skill —\nsynthesize and condense (the main/central idea, the key details that build it, and summary), NOT\ninference. Use `c1-t9` when the request is about the **main idea**, **most important details**, or a\n**summary**; dimensions `central-idea`/`key-detail`/`summary`, standards `ri-1`+`ri-2`, DOK 2 (3 for\nthe written summary). Its distractors are a **significance** taxonomy — usually *true* statements\nthat simply aren't central: `too-narrow` (a supporting detail mistaken for the main idea),\n`too-broad` (an overgeneralization/off-topic), `misreads-detail`, `insignificant` (a minor detail\nthat doesn't belong in a summary). T9 item types are `multiple-choice` (pick the central idea),\n`multi-select` (choose the two sentences that belong in a summary — `focus` is a **list**), `ebsr`\n(central idea → supporting detail), `short-text` (summary), and single-part `hot-text` (click the\nsentence(s) that show the main idea — the `focus` claim's directly-supporting `source`s are the\ncorrect selection). Two new item types — `multiple-choice` (4 options, one correct) and\n`multi-select` (5–6 options, an exact correct set) — are single-part: author the `stem` and a\n`focus`, no Part B.\n\n**`c1-t2` — Central Ideas over LITERARY texts** is T9's twin on a story, with the same five item\ntypes, the same significance taxonomy, and standards `rl-1`+`rl-2`. Choose it over `c1-t9` by the\npassage: story/poem → `c1-t2`, article → `c1-t9`. Two rules are T2's alone. **Theme leads**: its\ndimensions are `theme`, `central-idea`, `key-detail`, `summary`, and for a story you normally want\n`theme` with the correct answer phrased as a *lesson or message* (\"Keeping at something can matter\nmore than winning\"), not a plot event — reserve `central-idea` for a prompt that says \"main idea\".\n**Summary is scoped**: the guideline forbids asking students to summarize the *entire* text, so a\nT2 `summary` stem must name a section or key event (\"Summarize what happens after…\"). A plain\n\"summarize the passage\" belongs to T9, not T2.\n\nL0175 also composes **`c1-t8` — Key Details** (informational): the inference/conclusion is **GIVEN\nin the stem** and the student selects the supporting **evidence** (the answer is *evidence*, not a\nchosen statement). Use `c1-t8` when the request **states an idea and asks which detail/sentence\nsupports it**; dimension `supporting-evidence`, standards `ri-1`+`ri-7`, DOK 1–2, item types\n`multiple-choice`, `multi-select`, and **single-part `hot-text`** (no Part A). Author ONE supported\n`claim` = the given inference (its `focus`), state it in the `stem`, and author `source`s as the\noptions: `directly-supports` = correct evidence (with a `quote`), `supports-wrong-claim`/`irrelevant`\n= distractor evidence. No distractor claims.\n\n**`c1-t1` — Key Details over LITERARY texts** is the same model as `c1-t8` on a story rather than an\narticle: same dimension `supporting-evidence`, same item types, same DOK 1–2, same authoring recipe.\nThe one difference is the standard — the guideline names **`rl-1` and no companion**, so a composed\nitem's `standards` is exactly `[\"rl-1\"]`; omit `standard` on the outcome. Choose between them by the\npassage: story/poem/narrative → `c1-t1`, article/report → `c1-t8`. T1's stems offer `line` as a\nselectable unit and say \"[author/**narrator**]\"; its Multi-Select is exactly two correct.\n\nL0175 also composes **`c1-t10` — Word Meanings** (informational): the question asks for the\n**meaning of a targeted word/phrase in context**, so the answer choices are **meanings**, authored\nas a dedicated `word`/`meaning` structure (not claims). Use `c1-t10` when the request asks **what a\nword/phrase means**; dimension `word-meaning`, standards `ri-4` + the L-4 family (`l-4a` context /\n`l-4b` roots & affixes / `l-5c` word relationships / `l-4c` reference), DOK 1–2, item types\n`multiple-choice`, `multi-select`, and `hot-text` (click the word matching a given definition — the correct word is `focus` with its paragraph's `line`; author the distractor candidate words either as more single-word `word`s OR as the focus word's distractor `meanings` whose `text` is the candidate word itself (a single word, not a definition), ALL appearing in that one paragraph. The compiler shows the paragraph and makes the candidate words clickable, focus correct; if no candidate words are found it falls back to making every content word a choice. The `stem` is only the instruction + definition — never paste the paragraph into the stem). Author a top-level\n`words` list: a `word` (the targeted word, `line`/`quote` for context) with `meanings` — one (MC) or\n≥2 (Multi-Select) `status correct` meanings + `status distractor` meanings (each with a T10\n`error-type` — `other-meaning`/`misinterprets`/`wrong-context` — and a `rationale`). The outcome's\n`focus` names the word; state the word and its context sentence in the `stem`.\n\n**Write at the target grade level.** The grade is the guideline's grade (the target's — Grade 5 for `c1-t4`/`c1-t11`) unless the user's prompt asks for a different grade, in which case author a top-level `grade <n>`. Match the passage AND all question text to that grade: short, mostly simple/compound sentences; concrete, high-frequency vocabulary; an inference drawn from **specific details in the text**, not college-style literary or rhetorical analysis. DOK 3 means strategic reasoning *within* grade-level text — not harder text. The compiler estimates the passage's reading level and warns when it runs above the target grade. See **Grade-appropriate reading level** below.\n\n**Supply the passage already split into paragraphs.** When a request includes or describes the passage text, break it into its paragraphs and keep those breaks — each paragraph becomes one numbered `lines` entry and the rendered passage preserves that paragraph structure. The code generator maintains the paragraphs you provide; it does not re-flow a wall of text into one block or re-chunk it. Separate paragraphs with a blank line (or clearly mark each one) so they survive into the final passage. **Keep paragraphs even for Hot Text** — the compiler segments each paragraph into sentences and makes each one individually selectable in Part B, so the passage keeps its paragraph layout; do not author the passage as one-sentence lines.\n\nWhen composing a request, declare the `target`, then author the passage and outcomes (with their stems) first, then the inference graph (supported claims, then the targeted distractors), then the evidence. The program is one flat builder chain: top-level forms (`target`, `passage`, `type`, `lines`, `claims`, `evidence`, `outcomes`) thread a single continuation and the whole program ends with one `{}..`. Inside the `claims`/`evidence`/`outcomes` lists, each element (`claim`/`source`/`outcome`) is its own attribute chain terminated by its own `{}`. Attribute values that are free text (`text`, `rationale`, `subject`, `stem`, the passage heading) or id labels (`id`, `focus`, `cites`, `supports`, `targets`) are quoted strings; closed-enum values (`target`, `type`, `status`, `dimension`, `error-type`, `standard`, `dok`) are bare kebab-case identifiers (e.g. `c1-t11`, `ebsr`, `directly-supports`, `ri-1`).\n\nIn scope: SBAC Grade 5 · Claim 1 for targets **T4** (Reasoning & Evidence, literary, RL), **T11** (Reasoning & Evidence, informational, RI), **T9** (Central Ideas, informational, RI-1/RI-2), **T8** (Key Details, informational, RI-1/RI-7 — given-inference → evidence selection), and **T10** (Word Meanings, informational, RI-4/L-4 — meaning of a targeted word, authored as `word`/`meaning`); a single passage; the per-target dimensions and distractor taxonomy; item types `ebsr`, `hot-text`, `short-text`, `multiple-choice`, `multi-select` (allowed set varies by target); DOK r-dok1..r-dok3. Out of scope: other claims/grades or Claim-1 targets beyond T4/T11/T9/T8/T10; multi-word-phrase candidates in T10 click-the-word; dual-text stimuli; compile-time LLM generation; auto-scoring of short text; cross-language composition."
|
|
85
100
|
}
|
package/dist/static/lexicon.json
CHANGED
|
@@ -409,6 +409,41 @@
|
|
|
409
409
|
"length": 0,
|
|
410
410
|
"arity": 0
|
|
411
411
|
},
|
|
412
|
+
"tm1": {
|
|
413
|
+
"tk": 22,
|
|
414
|
+
"name": "TAG",
|
|
415
|
+
"cls": "val",
|
|
416
|
+
"length": 0,
|
|
417
|
+
"arity": 0
|
|
418
|
+
},
|
|
419
|
+
"tm2": {
|
|
420
|
+
"tk": 22,
|
|
421
|
+
"name": "TAG",
|
|
422
|
+
"cls": "val",
|
|
423
|
+
"length": 0,
|
|
424
|
+
"arity": 0
|
|
425
|
+
},
|
|
426
|
+
"tm3": {
|
|
427
|
+
"tk": 22,
|
|
428
|
+
"name": "TAG",
|
|
429
|
+
"cls": "val",
|
|
430
|
+
"length": 0,
|
|
431
|
+
"arity": 0
|
|
432
|
+
},
|
|
433
|
+
"tm4": {
|
|
434
|
+
"tk": 22,
|
|
435
|
+
"name": "TAG",
|
|
436
|
+
"cls": "val",
|
|
437
|
+
"length": 0,
|
|
438
|
+
"arity": 0
|
|
439
|
+
},
|
|
440
|
+
"tm5": {
|
|
441
|
+
"tk": 22,
|
|
442
|
+
"name": "TAG",
|
|
443
|
+
"cls": "val",
|
|
444
|
+
"length": 0,
|
|
445
|
+
"arity": 0
|
|
446
|
+
},
|
|
412
447
|
"c1-t4": {
|
|
413
448
|
"tk": 22,
|
|
414
449
|
"name": "TAG",
|
|
@@ -423,6 +458,13 @@
|
|
|
423
458
|
"length": 0,
|
|
424
459
|
"arity": 0
|
|
425
460
|
},
|
|
461
|
+
"c1-t2": {
|
|
462
|
+
"tk": 22,
|
|
463
|
+
"name": "TAG",
|
|
464
|
+
"cls": "val",
|
|
465
|
+
"length": 0,
|
|
466
|
+
"arity": 0
|
|
467
|
+
},
|
|
426
468
|
"c1-t9": {
|
|
427
469
|
"tk": 22,
|
|
428
470
|
"name": "TAG",
|
|
@@ -430,6 +472,13 @@
|
|
|
430
472
|
"length": 0,
|
|
431
473
|
"arity": 0
|
|
432
474
|
},
|
|
475
|
+
"c1-t1": {
|
|
476
|
+
"tk": 22,
|
|
477
|
+
"name": "TAG",
|
|
478
|
+
"cls": "val",
|
|
479
|
+
"length": 0,
|
|
480
|
+
"arity": 0
|
|
481
|
+
},
|
|
433
482
|
"c1-t8": {
|
|
434
483
|
"tk": 22,
|
|
435
484
|
"name": "TAG",
|
|
@@ -675,6 +724,13 @@
|
|
|
675
724
|
"length": 0,
|
|
676
725
|
"arity": 0
|
|
677
726
|
},
|
|
727
|
+
"rl-2": {
|
|
728
|
+
"tk": 22,
|
|
729
|
+
"name": "TAG",
|
|
730
|
+
"cls": "val",
|
|
731
|
+
"length": 0,
|
|
732
|
+
"arity": 0
|
|
733
|
+
},
|
|
678
734
|
"rl-3": {
|
|
679
735
|
"tk": 22,
|
|
680
736
|
"name": "TAG",
|
|
@@ -682,6 +738,20 @@
|
|
|
682
738
|
"length": 0,
|
|
683
739
|
"arity": 0
|
|
684
740
|
},
|
|
741
|
+
"rl-4": {
|
|
742
|
+
"tk": 22,
|
|
743
|
+
"name": "TAG",
|
|
744
|
+
"cls": "val",
|
|
745
|
+
"length": 0,
|
|
746
|
+
"arity": 0
|
|
747
|
+
},
|
|
748
|
+
"rl-5": {
|
|
749
|
+
"tk": 22,
|
|
750
|
+
"name": "TAG",
|
|
751
|
+
"cls": "val",
|
|
752
|
+
"length": 0,
|
|
753
|
+
"arity": 0
|
|
754
|
+
},
|
|
685
755
|
"rl-6": {
|
|
686
756
|
"tk": 22,
|
|
687
757
|
"name": "TAG",
|
|
@@ -689,6 +759,13 @@
|
|
|
689
759
|
"length": 0,
|
|
690
760
|
"arity": 0
|
|
691
761
|
},
|
|
762
|
+
"rl-7": {
|
|
763
|
+
"tk": 22,
|
|
764
|
+
"name": "TAG",
|
|
765
|
+
"cls": "val",
|
|
766
|
+
"length": 0,
|
|
767
|
+
"arity": 0
|
|
768
|
+
},
|
|
692
769
|
"rl-9": {
|
|
693
770
|
"tk": 22,
|
|
694
771
|
"name": "TAG",
|
|
@@ -724,6 +801,13 @@
|
|
|
724
801
|
"length": 0,
|
|
725
802
|
"arity": 0
|
|
726
803
|
},
|
|
804
|
+
"ri-5": {
|
|
805
|
+
"tk": 22,
|
|
806
|
+
"name": "TAG",
|
|
807
|
+
"cls": "val",
|
|
808
|
+
"length": 0,
|
|
809
|
+
"arity": 0
|
|
810
|
+
},
|
|
727
811
|
"ri-6": {
|
|
728
812
|
"tk": 22,
|
|
729
813
|
"name": "TAG",
|
|
@@ -780,6 +864,27 @@
|
|
|
780
864
|
"length": 0,
|
|
781
865
|
"arity": 0
|
|
782
866
|
},
|
|
867
|
+
"l-5": {
|
|
868
|
+
"tk": 22,
|
|
869
|
+
"name": "TAG",
|
|
870
|
+
"cls": "val",
|
|
871
|
+
"length": 0,
|
|
872
|
+
"arity": 0
|
|
873
|
+
},
|
|
874
|
+
"l-5a": {
|
|
875
|
+
"tk": 22,
|
|
876
|
+
"name": "TAG",
|
|
877
|
+
"cls": "val",
|
|
878
|
+
"length": 0,
|
|
879
|
+
"arity": 0
|
|
880
|
+
},
|
|
881
|
+
"l-5b": {
|
|
882
|
+
"tk": 22,
|
|
883
|
+
"name": "TAG",
|
|
884
|
+
"cls": "val",
|
|
885
|
+
"length": 0,
|
|
886
|
+
"arity": 0
|
|
887
|
+
},
|
|
783
888
|
"l-5c": {
|
|
784
889
|
"tk": 22,
|
|
785
890
|
"name": "TAG",
|
|
@@ -913,6 +1018,13 @@
|
|
|
913
1018
|
"length": 2,
|
|
914
1019
|
"arity": 2
|
|
915
1020
|
},
|
|
1021
|
+
"task-model": {
|
|
1022
|
+
"tk": 1,
|
|
1023
|
+
"name": "TASK_MODEL",
|
|
1024
|
+
"cls": "function",
|
|
1025
|
+
"length": 2,
|
|
1026
|
+
"arity": 2
|
|
1027
|
+
},
|
|
916
1028
|
"subject": {
|
|
917
1029
|
"tk": 1,
|
|
918
1030
|
"name": "SUBJECT",
|
package/dist/static/scope.json
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"revised": "2026-
|
|
2
|
+
"revised": "2026-08-28",
|
|
3
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
|
|
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-t2 (Central Ideas, literary, RL-1/RL-2 — theme, and summary scoped to a key event) and c1-t9 (Central Ideas, informational, RI-1/RI-2), c1-t1 (Key Details, literary, RL-1 alone) and c1-t8 (Key Details, informational, RI-1/RI-7) — for both, 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
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",
|
|
6
|
+
"A required top-level 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), or c1-t10 (informational, Word Meanings), selecting the dimension/standard/error-type/DOK/item-type/stem vocabulary",
|
|
7
7
|
"A single passage with numbered lines",
|
|
8
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
9
|
"A content graph: supported and distractor claims, plus evidence sources tagged directly-supports / supports-wrong-claim / irrelevant",
|
|
10
10
|
"c1-t4 dimensions: character, setting, event, point-of-view, theme, topic, narrators-feelings, character-relationship",
|
|
11
11
|
"c1-t11 dimensions: relationships-interactions, author-use-of-information, point-of-view, purpose, authors-opinion",
|
|
12
12
|
"c1-t9 (Central Ideas) dimensions: central-idea, key-detail, summary",
|
|
13
|
-
"c1-
|
|
13
|
+
"c1-t2 (Central Ideas, literary) dimensions: theme, central-idea, key-detail, summary — theme is the lesson/message of a story; summary items cover a section or key event, never the whole text",
|
|
14
|
+
"c1-t1 (literary) / c1-t8 (informational) Key Details dimension: supporting-evidence — the inference is given in the stem and the student selects supporting evidence (options are sources, not claims)",
|
|
14
15
|
"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
16
|
"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
|
|
18
|
-
"A reading-level target set by the guideline/target's grade (Grade 5 for
|
|
17
|
+
"Authored, error-typed distractors — R&E: misreads-detail / erroneous-inference / faulty-reasoning; Central Ideas (c1-t2 / c1-t9): too-narrow / too-broad / misreads-detail / insignificant; Key Details (c1-t1 / 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",
|
|
18
|
+
"Standards: the full CCSS Grade-5 strand for the target's text type is accepted (literary c1-t4/c1-t2/c1-t1 → RL rl-1..rl-7/rl-9, no rl-8; informational c1-t11/t9/t8/t10 → RI ri-1..ri-9; c1-t10 also the L-4/L-5 vocabulary families). The dimension's companion is inferred when standard is omitted — primary companions: 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-t2 rl-1+rl-2 (every dimension); c1-t1 rl-1 alone (no companion); c1-t8 ri-1+ri-7; c1-t10 ri-4 + the L-4 family. DOK r-dok1..r-dok3 (R&E r-dok3; T2/T9 r-dok2, the written response r-dok3; T1, T8 & T10 r-dok2)",
|
|
19
|
+
"A reading-level target set by the guideline/target's grade (Grade 5 for every current target), 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
|
],
|
|
20
21
|
"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
|
+
"Claims, grades, or Claim-1 targets beyond T4, T11, T2, T9, T1, T8, and T10 — other Claim-1 targets belong in their own dialects",
|
|
22
23
|
"Multi-word-phrase candidates in c1-t10 click-the-word (single words only this version)",
|
|
23
24
|
"Dual-text stimuli (a single passage only in this version)",
|
|
24
25
|
"Compile-time LLM generation — the compiler selects and validates authored content, it does not invent it",
|
package/dist/static/spec.html
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<h1>L0175 Vocabulary</h1>
|
|
14
14
|
<section id="intro">
|
|
15
15
|
<p><em>Revised: 2026-06-19</em></p>
|
|
16
|
-
<p><strong>L0175</strong> is a Graffiticode dialect for composing 5th-grade English Language Arts assessment items (Smarter Balanced · Grade 5 · Claim 1). One language serves <strong>multiple learning targets</strong>, selected by a required top-level <code>target</code>: <code>c1-t4</code> (Reasoning & Evidence, literary, RL standards), <code>c1-t11</code> (Reasoning & Evidence, informational, RI standards), <code>c1-t9</code> (Central Ideas, informational, RI-1/RI-2), <code>c1-t8</code> (Key Details, informational, RI-1/RI-7 — the inference is given and the student selects supporting evidence), or <code>c1-t10</code> (Word Meanings, informational, RI-4/L-4 — the meaning of a targeted word, options authored as <code>word</code>/<code>meaning</code>) — different reading skills, each with its own dimensions, distractor taxonomy, DOK, item types, and stem catalog. It is <strong>item-first</strong>: a program declares its <code>target</code>, then authors the <code>outcome</code>s (questions) first — each with a unique <code>id</code>, a <code>focus</code> naming its correct claim, and an explicit <code>stem</code> from that target’s guideline catalog — then the supported and distractor <code>claim</code>s (each distractor <code>targets</code> the question(s) it foils) and the evidence <code>source</code>s for one passage. The compiler <strong>composes</strong> each outcome by taking its <code>focus</code> claim, drawing that question’s foils from the distractors that <code>targets</code> it, and assembling a finished item (<code>ebsr</code>, <code>hot-text</code>, or <code>short-text</code>). It selects and validates authored content against the target profile; it does not generate content or stems.</p>
|
|
16
|
+
<p><strong>L0175</strong> is a Graffiticode dialect for composing 5th-grade English Language Arts assessment items (Smarter Balanced · Grade 5 · Claim 1). One language serves <strong>multiple learning targets</strong>, selected by a required top-level <code>target</code>: <code>c1-t4</code> (Reasoning & Evidence, literary, RL standards), <code>c1-t11</code> (Reasoning & Evidence, informational, RI standards), <code>c1-t9</code> (Central Ideas, informational, RI-1/RI-2), <code>c1-t2</code> (Central Ideas, <strong>literary</strong>, RL-1/RL-2 — theme, and summary scoped to a key event), <code>c1-t1</code> (Key Details, <strong>literary</strong>, RL-1 — the inference is given and the student selects supporting evidence), <code>c1-t8</code> (Key Details, informational, RI-1/RI-7 — the inference is given and the student selects supporting evidence), or <code>c1-t10</code> (Word Meanings, informational, RI-4/L-4 — the meaning of a targeted word, options authored as <code>word</code>/<code>meaning</code>) — different reading skills, each with its own dimensions, distractor taxonomy, DOK, item types, and stem catalog. It is <strong>item-first</strong>: a program declares its <code>target</code>, then authors the <code>outcome</code>s (questions) first — each with a unique <code>id</code>, a <code>focus</code> naming its correct claim, and an explicit <code>stem</code> from that target’s guideline catalog — then the supported and distractor <code>claim</code>s (each distractor <code>targets</code> the question(s) it foils) and the evidence <code>source</code>s for one passage. The compiler <strong>composes</strong> each outcome by taking its <code>focus</code> claim, drawing that question’s foils from the distractors that <code>targets</code> it, and assembling a finished item (<code>ebsr</code>, <code>hot-text</code>, or <code>short-text</code>). It selects and validates authored content against the target profile; it does not generate content or stems.</p>
|
|
17
17
|
<p>The core language specification (syntax, semantics, base library) is here: <a href="./graffiticode-language-spec.html">Graffiticode Language Specification</a></p>
|
|
18
18
|
</section>
|
|
19
19
|
<nav class="spec-toc">
|
|
@@ -75,7 +75,7 @@ outcomes [ outcome ... {} outcome ... {} ]
|
|
|
75
75
|
<td align="left"><code>target</code></td>
|
|
76
76
|
<td align="center">2</td>
|
|
77
77
|
<td align="left">tag</td>
|
|
78
|
-
<td align="left">Top level: the learning target — <code>c1-t4</code> (R&E literary, RL), <code>c1-t11</code> (R&E informational, RI), <code>c1-t9</code> (Central Ideas informational, RI-1/RI-2), <code>c1-t8</code> (Key Details informational, RI-1/RI-7), or <code>c1-t10</code> (Word Meanings informational, RI-4/L-4). Selects the valid dimensions/standards, distractor taxonomy, DOK, item types, and stem catalog. Always author one; defaults to <code>c1-t4</code> if omitted.</td>
|
|
78
|
+
<td align="left">Top level: the learning target — <code>c1-t4</code> (R&E literary, RL), <code>c1-t11</code> (R&E informational, RI), <code>c1-t9</code> (Central Ideas informational, RI-1/RI-2), <code>c1-t2</code> (Central Ideas literary, RL-1/RL-2), <code>c1-t1</code> (Key Details literary, RL-1 alone), <code>c1-t8</code> (Key Details informational, RI-1/RI-7), or <code>c1-t10</code> (Word Meanings informational, RI-4/L-4). Selects the valid dimensions/standards, distractor taxonomy, DOK, item types, and stem catalog. Always author one; defaults to <code>c1-t4</code> if omitted.</td>
|
|
79
79
|
</tr>
|
|
80
80
|
<tr>
|
|
81
81
|
<td align="left"><code>title</code></td>
|
|
@@ -421,14 +421,14 @@ outcomes [ outcome ... {} outcome ... {} ]
|
|
|
421
421
|
<section id="sec-Enumerations" secid="2.7">
|
|
422
422
|
<h2><span class="spec-secid" title="link to this section"><a href="#sec-Enumerations">2.7</a></span>Enumerations</h2>
|
|
423
423
|
<ul>
|
|
424
|
-
<li><strong><code>target</code></strong>: <code>c1-t4</code> (R&E literary), <code>c1-t11</code> (R&E informational), <code>c1-t9</code> (Central Ideas informational), <code>c1-t8</code> (Key Details informational), <code>c1-t10</code> (Word Meanings informational) — required, top level</li>
|
|
424
|
+
<li><strong><code>target</code></strong>: <code>c1-t4</code> (R&E literary), <code>c1-t11</code> (R&E informational), <code>c1-t9</code> (Central Ideas informational), <code>c1-t2</code> (Central Ideas <strong>literary</strong>), <code>c1-t1</code> (Key Details <strong>literary</strong>), <code>c1-t8</code> (Key Details informational), <code>c1-t10</code> (Word Meanings informational) — required, top level</li>
|
|
425
425
|
<li><strong>item <code>type</code></strong>: <code>ebsr</code>, <code>hot-text</code>, <code>short-text</code>, <code>multiple-choice</code>, <code>multi-select</code> (allowed set is per-target) · <strong>passage <code>type</code></strong>: <code>literary</code>, <code>informational</code></li>
|
|
426
426
|
<li><strong><code>dimension</code> (c1-t4)</strong>: <code>character</code>, <code>setting</code>, <code>event</code>, <code>point-of-view</code>, <code>theme</code>, <code>topic</code>, <code>narrators-feelings</code>, <code>character-relationship</code></li>
|
|
427
427
|
<li><strong><code>dimension</code> (c1-t11)</strong>: <code>relationships-interactions</code>, <code>author-use-of-information</code>, <code>point-of-view</code>, <code>purpose</code>, <code>authors-opinion</code></li>
|
|
428
|
-
<li><strong><code>dimension</code> (c1-t9)</strong>: <code>central-idea</code>, <code>key-detail</code>, <code>summary</code> · <strong>(c1-t8)</strong>: <code>supporting-evidence</code> · <strong>(c1-t10)</strong>: <code>word-meaning</code></li>
|
|
428
|
+
<li><strong><code>dimension</code> (c1-t2)</strong>: <code>theme</code>, <code>central-idea</code>, <code>key-detail</code>, <code>summary</code> · <strong>(c1-t9)</strong>: <code>central-idea</code>, <code>key-detail</code>, <code>summary</code> · <strong>(c1-t1 / c1-t8)</strong>: <code>supporting-evidence</code> · <strong>(c1-t10)</strong>: <code>word-meaning</code></li>
|
|
429
429
|
<li><strong>claim <code>status</code></strong>: <code>supported</code>, <code>distractor</code> · <strong>source <code>status</code></strong>: <code>directly-supports</code>, <code>supports-wrong-claim</code>, <code>irrelevant</code> · <strong>meaning <code>status</code> (c1-t10)</strong>: <code>correct</code>, <code>distractor</code></li>
|
|
430
|
-
<li><strong><code>error-type</code> (c1-t4 / c1-t11)</strong>: <code>misreads-detail</code>, <code>erroneous-inference</code>, <code>faulty-reasoning</code> · <strong>(c1-t9)</strong>: <code>too-narrow</code>, <code>too-broad</code>, <code>misreads-detail</code>, <code>insignificant</code> · <strong>(c1-t8)</strong>: none — non-supporting sources · <strong>(c1-t10)</strong>: <code>other-meaning</code>, <code>misinterprets</code>, <code>wrong-context</code></li>
|
|
431
|
-
<li><strong><code>standard</code> (c1-t4)</strong
|
|
430
|
+
<li><strong><code>error-type</code> (c1-t4 / c1-t11)</strong>: <code>misreads-detail</code>, <code>erroneous-inference</code>, <code>faulty-reasoning</code> · <strong>(c1-t2 / c1-t9)</strong>: <code>too-narrow</code>, <code>too-broad</code>, <code>misreads-detail</code>, <code>insignificant</code> · <strong>(c1-t1 / c1-t8)</strong>: none — non-supporting sources · <strong>(c1-t10)</strong>: <code>other-meaning</code>, <code>misinterprets</code>, <code>wrong-context</code></li>
|
|
431
|
+
<li><strong><code>standard</code></strong> — the full CCSS Grade-5 strand for the target’s text type is accepted; the dimension’s companion is inferred when you omit it. Primary companions: <strong>(c1-t4)</strong> <code>rl-1</code> + <code>rl-2</code> (theme/topic) / <code>rl-3</code> / <code>rl-6</code> — full <strong>RL</strong> strand <code>rl-1</code>–<code>rl-7</code>/<code>rl-9</code> accepted (no <code>rl-8</code>) · <strong>(c1-t11)</strong> <code>ri-1</code> + <code>ri-3</code> / <code>ri-6</code> / <code>ri-7</code> / <code>ri-8</code> · <strong>(c1-t2)</strong> <code>rl-1</code> + <code>rl-2</code> · <strong>(c1-t9)</strong> <code>ri-1</code> + <code>ri-2</code> · <strong>(c1-t1)</strong> <code>rl-1</code> <strong>alone</strong> — no companion in the guideline · <strong>(c1-t8)</strong> <code>ri-1</code> + <code>ri-7</code> — c1-t11/t9/t8 accept the full <strong>RI</strong> strand <code>ri-1</code>–<code>ri-9</code> · <strong>(c1-t10)</strong> <code>ri-4</code> + the <code>l-4</code> / <code>l-5</code> families. <strong><code>dok</code></strong>: <code>r-dok1</code>, <code>r-dok2</code>, <code>r-dok3</code></li>
|
|
432
432
|
</ul>
|
|
433
433
|
</section>
|
|
434
434
|
<section id="sec-How-composition-uses-the-vocabulary" secid="2.8">
|
|
@@ -452,6 +452,11 @@ lines [
|
|
|
452
452
|
"Mara crouched at the edge of the tide pool, ignoring the picnic behind her."
|
|
453
453
|
"Her brother called twice, but she did not turn around."
|
|
454
454
|
"A tiny crab scuttled under a rock, and Mara smiled for the first time all day."
|
|
455
|
+
"She traced the cold water as if the pool were the only thing that mattered."
|
|
456
|
+
"Behind her, paper plates rustled and her mother laughed."
|
|
457
|
+
"Someone asked whether she wanted a sandwich, and she said nothing at all."
|
|
458
|
+
"Only when her father folded the last chair did Mara stand up."
|
|
459
|
+
"The tide crept in and filled the pool to its rim."
|
|
455
460
|
]
|
|
456
461
|
claims [
|
|
457
462
|
claim id "c1"
|
|
@@ -459,35 +464,58 @@ claims [
|
|
|
459
464
|
dimension character
|
|
460
465
|
subject "Mara"
|
|
461
466
|
standard rl-1
|
|
462
|
-
text "Mara
|
|
467
|
+
text "Mara cares more about the tide pool than about the picnic."
|
|
463
468
|
cites [
|
|
464
469
|
"e1"
|
|
465
470
|
"e3"
|
|
471
|
+
"e4"
|
|
466
472
|
] {}
|
|
467
473
|
claim id "c2"
|
|
468
474
|
status distractor
|
|
469
475
|
error-type misreads-detail
|
|
470
476
|
plausibility 0.8
|
|
471
477
|
targets [ "q1" ]
|
|
472
|
-
text "Mara is angry at her brother."
|
|
478
|
+
text "Mara is angry at her brother for calling her twice."
|
|
473
479
|
rationale "Not turning around shows absorption, not anger."
|
|
474
480
|
cites [
|
|
475
481
|
"e2"
|
|
476
482
|
] {}
|
|
477
483
|
claim id "c3"
|
|
478
484
|
status distractor
|
|
479
|
-
error-type
|
|
485
|
+
error-type misreads-detail
|
|
486
|
+
plausibility 0.6
|
|
480
487
|
targets [ "q1" ]
|
|
481
|
-
text "Mara
|
|
482
|
-
rationale "
|
|
488
|
+
text "Mara is bored by the pool and wants to go home."
|
|
489
|
+
rationale "Her stillness is focus, not boredom."
|
|
483
490
|
cites [
|
|
484
491
|
"e2"
|
|
485
492
|
] {}
|
|
486
493
|
claim id "c4"
|
|
494
|
+
status distractor
|
|
495
|
+
error-type erroneous-inference
|
|
496
|
+
plausibility 0.55
|
|
497
|
+
targets [ "q1" ]
|
|
498
|
+
text "Mara would rather be indoors than out at the beach."
|
|
499
|
+
rationale "Contradicted by her smile at the crab."
|
|
500
|
+
cites [
|
|
501
|
+
"e3"
|
|
502
|
+
] {}
|
|
503
|
+
claim id "c5"
|
|
504
|
+
status distractor
|
|
505
|
+
error-type erroneous-inference
|
|
506
|
+
plausibility 0.5
|
|
507
|
+
targets [ "q1" ]
|
|
508
|
+
text "Mara is waiting for her brother to come look with her."
|
|
509
|
+
rationale "Invents a goal the passage never states."
|
|
510
|
+
cites [
|
|
511
|
+
"e2"
|
|
512
|
+
] {}
|
|
513
|
+
claim id "c6"
|
|
487
514
|
status distractor
|
|
488
515
|
error-type faulty-reasoning
|
|
516
|
+
plausibility 0.45
|
|
489
517
|
targets [ "q1" ]
|
|
490
|
-
text "
|
|
518
|
+
text "Mara is quiet, so something must have upset her."
|
|
491
519
|
rationale "Treats quiet as upset without support."
|
|
492
520
|
cites [
|
|
493
521
|
"e2"
|
|
@@ -496,27 +524,63 @@ claims [
|
|
|
496
524
|
evidence [
|
|
497
525
|
source id "e1"
|
|
498
526
|
line 1
|
|
527
|
+
quote "Mara crouched at the edge of the tide pool, ignoring the picnic behind her."
|
|
499
528
|
status directly-supports
|
|
500
529
|
supports [
|
|
501
530
|
"c1"
|
|
502
531
|
] {}
|
|
532
|
+
source id "e3"
|
|
533
|
+
line 3
|
|
534
|
+
quote "A tiny crab scuttled under a rock, and Mara smiled for the first time all day."
|
|
535
|
+
status directly-supports
|
|
536
|
+
supports [
|
|
537
|
+
"c1"
|
|
538
|
+
] {}
|
|
539
|
+
source id "e4"
|
|
540
|
+
line 4
|
|
541
|
+
quote "She traced the cold water as if the pool were the only thing that mattered."
|
|
542
|
+
status directly-supports
|
|
543
|
+
supports [
|
|
544
|
+
"c1"
|
|
545
|
+
] {}
|
|
546
|
+
/* NO-GIVEAWAY: a supports-wrong-claim source backing BOTH the key and a distractor, so
|
|
547
|
+
Part B does not telegraph Part A */
|
|
503
548
|
source id "e2"
|
|
504
549
|
line 2
|
|
550
|
+
quote "Her brother called twice, but she did not turn around."
|
|
505
551
|
status supports-wrong-claim
|
|
506
552
|
supports [
|
|
507
553
|
"c1"
|
|
508
554
|
"c2"
|
|
509
555
|
] {}
|
|
510
|
-
source id "
|
|
511
|
-
line
|
|
512
|
-
|
|
556
|
+
source id "e6"
|
|
557
|
+
line 6
|
|
558
|
+
quote "Someone asked whether she wanted a sandwich, and she said nothing at all."
|
|
559
|
+
status supports-wrong-claim
|
|
513
560
|
supports [
|
|
514
561
|
"c1"
|
|
562
|
+
"c6"
|
|
515
563
|
] {}
|
|
564
|
+
source id "e5"
|
|
565
|
+
line 5
|
|
566
|
+
quote "Behind her, paper plates rustled and her mother laughed."
|
|
567
|
+
status irrelevant
|
|
568
|
+
supports [] {}
|
|
569
|
+
source id "e7"
|
|
570
|
+
line 7
|
|
571
|
+
quote "Only when her father folded the last chair did Mara stand up."
|
|
572
|
+
status irrelevant
|
|
573
|
+
supports [] {}
|
|
574
|
+
source id "e8"
|
|
575
|
+
line 8
|
|
576
|
+
quote "The tide crept in and filled the pool to its rim."
|
|
577
|
+
status irrelevant
|
|
578
|
+
supports [] {}
|
|
516
579
|
]
|
|
517
580
|
outcomes [
|
|
518
581
|
outcome id "q1"
|
|
519
582
|
type ebsr
|
|
583
|
+
task-model tm1
|
|
520
584
|
dimension character
|
|
521
585
|
subject "Mara"
|
|
522
586
|
standard rl-1
|
|
@@ -525,6 +589,7 @@ outcomes [
|
|
|
525
589
|
stem-b "Which sentence(s) from the passage best support your answer in Part A?" {}
|
|
526
590
|
outcome id "q2"
|
|
527
591
|
type short-text
|
|
592
|
+
task-model tm3
|
|
528
593
|
dimension character
|
|
529
594
|
subject "Mara"
|
|
530
595
|
standard rl-1
|
|
@@ -541,6 +606,7 @@ outcomes [
|
|
|
541
606
|
]
|
|
542
607
|
{}..
|
|
543
608
|
</code></pre>
|
|
609
|
+
<p>The example above is Target 4 (literary, R&E). The other targets keep the same flat-chain shape but differ in what the options are: <strong>T11</strong> is the same R&E shape over an informational passage (RI standards); <strong>T9</strong> (Central Ideas) options are <code>claim</code>s judged by significance (<code>too-narrow</code> / <code>too-broad</code> / <code>insignificant</code> / <code>misreads-detail</code>); <strong>T8</strong> (Key Details) gives the inference in the stem and the options are <code>source</code>s (no distractor claims); <strong>T10</strong> (Word Meanings) options are <code>meaning</code>s of a targeted <code>word</code> authored in a top-level <code>words</code> list. See <code>instructions.md</code> for a full worked program per target and <code>stems.md</code> for each target’s stem catalog. </p>
|
|
544
610
|
</section>
|
|
545
611
|
</section>
|
|
546
612
|
</article>
|