eklavya 1.59.0 → 1.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/assets/dashboard.html +131 -56
- package/dist/assets/tutor/SKILL.md +49 -44
- package/dist/assets/tutor/references/focus-and-level.md +2 -1
- package/dist/assets/tutor/references/grading.md +101 -104
- package/dist/assets/tutor/references/panel.md +5 -2
- package/dist/assets/tutor/references/writing-mcq.md +28 -20
- package/dist/eval/conversation-score.js +98 -0
- package/dist/eval/conversation-score.js.map +1 -0
- package/dist/eval/question-checks.js +31 -0
- package/dist/eval/question-checks.js.map +1 -1
- package/dist/hooks/ask-label.js +37 -14
- package/dist/hooks/ask-label.js.map +1 -1
- package/dist/migrations/027_invalid_questions.sql +19 -0
- package/dist/panel.js +17 -0
- package/dist/panel.js.map +1 -1
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/agents/tutor.md +26 -23
- package/dist/plugin/hooks/CLAUDE.md +1 -1
- package/dist/plugin/skills/CLAUDE.md +1 -1
- package/dist/plugin/skills/tutor/SKILL.md +49 -44
- package/dist/plugin/skills/tutor/references/focus-and-level.md +2 -1
- package/dist/plugin/skills/tutor/references/grading.md +101 -104
- package/dist/plugin/skills/tutor/references/panel.md +5 -2
- package/dist/plugin/skills/tutor/references/writing-mcq.md +28 -20
- package/dist/store.js +15 -1
- package/dist/store.js.map +1 -1
- package/dist/tools/panel_tools.js +1 -1
- package/dist/tools/panel_tools.js.map +1 -1
- package/dist/tools/record_attempt.js +26 -8
- package/dist/tools/record_attempt.js.map +1 -1
- package/dist/user-skill/eklavya/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
# Grading, and what to do with a blank
|
|
2
2
|
|
|
3
|
-
Required reading before you grade.
|
|
4
|
-
|
|
3
|
+
Required reading before you grade. Call `record_attempt` for **every** answer,
|
|
4
|
+
blanks and skips included, with `question` verbatim (that text is what stops the
|
|
5
|
+
same question coming back) and an `outcome`: `answered`, `dont_know`, `declined`
|
|
6
|
+
or `invalid`. A question that was itself at fault is not a grade at all: see
|
|
7
|
+
*When the question is at fault*.
|
|
5
8
|
|
|
6
|
-
##
|
|
9
|
+
## What every response earns
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
back later. Pass `outcome` as well: `answered`, `dont_know`, or `declined`.
|
|
11
|
+
Find the row for who asked and what the learner did. The sections below say how
|
|
12
|
+
to do each cell.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
| Learner | Automatic question: checkpoint, sweep, while-waiting | Panel | Parallel tutor | Asked-for quiz or lesson |
|
|
15
|
+
|---|---|---|---|---|
|
|
16
|
+
| Right | record; verdict | the panel records and judges; do nothing | record; verdict | record; verdict |
|
|
17
|
+
| Wrong | record; verdict, right answer, one line of why; no follow-up | as left | as left, then the handoff block | do not give the answer yet: one narrower question, then teach |
|
|
18
|
+
| Blank ("I don't know") | `dont_know`; answer and one line of why | as left | as left | `dont_know`; the full four-step teaching |
|
|
19
|
+
| Skip | `declined`, nothing said | the Skip button records it | `declined` | `declined` |
|
|
20
|
+
| Question at fault | `invalid`; own it, give the answer, no replacement this turn | n/a: nothing to press | `invalid` | `invalid`; own it, then ask a fixed question now |
|
|
21
|
+
| Silence | nothing | nothing | nothing, do not chase | wait |
|
|
22
|
+
|
|
23
|
+
Then **straight back to the task** in every automatic case: no summary, no
|
|
24
|
+
second question, no re-plan. A verdict is *right*, or *wrong plus the right
|
|
25
|
+
answer and one line of why*, and it always comes first.
|
|
26
|
+
|
|
27
|
+
## Grading honestly
|
|
28
|
+
|
|
29
|
+
Grade on SM-2's 0–5. Before you pick a number, state to yourself what in their
|
|
30
|
+
answer justifies it: a gate built on inflated grades teaches nothing, and being
|
|
31
|
+
generous is the one failure that makes this tool pointless.
|
|
13
32
|
|
|
14
33
|
| Grade | Means |
|
|
15
34
|
|---|---|
|
|
@@ -20,18 +39,9 @@ Grade honestly on SM-2's 0–5:
|
|
|
20
39
|
| 4 | correct and clean |
|
|
21
40
|
| 5 | correct, and explained *why*, or caught a nuance you didn't ask for |
|
|
22
41
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
tool pointless.
|
|
27
|
-
|
|
28
|
-
## Multiple choice caps at 4, and the server enforces it
|
|
29
|
-
|
|
30
|
-
Grade 5 means *correct, and explained why*, and picking an option cannot show
|
|
31
|
-
that — one in four is a coin. `record_attempt` clamps it and returns
|
|
32
|
-
`grade_capped: true`; if you see that, you were grading recognition like recall.
|
|
33
|
-
|
|
34
|
-
Within the cap, still grade honestly:
|
|
42
|
+
**Multiple choice caps at 4, and the server enforces it** (`grade_capped: true`
|
|
43
|
+
means you graded recognition like recall). Picking one of four cannot show *why*.
|
|
44
|
+
Within the cap:
|
|
35
45
|
|
|
36
46
|
| Grade | Means |
|
|
37
47
|
|---|---|
|
|
@@ -39,104 +49,91 @@ Within the cap, still grade honestly:
|
|
|
39
49
|
| 3 | right option, but their "Other" text or follow-up showed it was a guess |
|
|
40
50
|
| 2 | picked a distractor that is the shape of the idea |
|
|
41
51
|
| 1 | picked a distractor built on a misconception |
|
|
42
|
-
| 0 | "Other" with *I don't know* (`
|
|
43
|
-
|
|
44
|
-
**A defensible pick is a correct answer.** If the option they chose also
|
|
45
|
-
answers the stem — or they argue convincingly that it does — the question was
|
|
46
|
-
flawed, not the learner. Grade it 4 as if it were the key, say plainly that the
|
|
47
|
-
question had two right answers, and never grade them down for your own
|
|
48
|
-
ambiguity.
|
|
52
|
+
| 0 | "Other" with *I don't know* (`dont_know`, teach it), or a decline (`declined`) |
|
|
49
53
|
|
|
50
|
-
**
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
not
|
|
54
|
+
**A defensible pick is a correct answer.** If their option also answers the
|
|
55
|
+
stem, or they argue convincingly that it does, the question was flawed, not the
|
|
56
|
+
learner: grade it 4, say plainly it had two right answers, and never mark them
|
|
57
|
+
down for your ambiguity. If they did not pick but said two are right, that is
|
|
58
|
+
`invalid`.
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
**If they want to explain, let them.** Someone who picks "Other" and types a real
|
|
61
|
+
answer has given better evidence than the choice could. Grade it as free recall:
|
|
62
|
+
omit `format`, and the cap does not apply.
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
thing they got wrong and stop
|
|
59
|
-
|
|
60
|
-
If they answer and get it wrong, do not immediately give the answer. Ask one
|
|
61
|
-
narrower question that isolates the gap. If they miss that too, teach it as
|
|
62
|
-
below.
|
|
63
|
-
|
|
64
|
-
**Always say whether they were right first.** At an `[Eklavya checkpoint]`
|
|
65
|
-
there is no narrower question — the checkpoint is one question — so a miss
|
|
66
|
-
gets the right answer and one line of why, then the task resumes.
|
|
64
|
+
Feedback for a grade of 2 or better is four sentences or fewer: correct the
|
|
65
|
+
specific thing they got wrong and stop.
|
|
67
66
|
|
|
68
67
|
## When they say "I don't know"
|
|
69
68
|
|
|
70
|
-
**
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
3. **Say what it generalises to
|
|
96
|
-
codebase, not just this one.
|
|
69
|
+
**The most important thing in this skill.** A blank is not a skip. A skip says
|
|
70
|
+
*leave me alone*; "I don't know" says *teach me*, the clearest request for teaching you will ever get.
|
|
71
|
+
Answering it with a three-sentence correction is the failure this tool exists to
|
|
72
|
+
prevent. Both record grade 0; `outcome` separates them.
|
|
73
|
+
|
|
74
|
+
They are not interchangeable. A `declined` concept is not offered again in this
|
|
75
|
+
session's gate retry (a later session's project review may bring it back once it
|
|
76
|
+
is due), so labelling a blank as a decline removes it from the only route out of
|
|
77
|
+
a blocked commit. If you explained it, it was a blank: `dont_know`.
|
|
78
|
+
`record_attempt` returns `outcome_conflict` for `declined` with feedback (a
|
|
79
|
+
decline you dropped has nothing to explain), and rejects `declined` or
|
|
80
|
+
`dont_know` with a grade of 3 or more (`outcome_grade_conflict`) without
|
|
81
|
+
recording anything.
|
|
82
|
+
|
|
83
|
+
**Who teaches, and how much.** The full sequence is for a quiz or lesson the
|
|
84
|
+
developer asked for. For an automatic question the answer and one line of why is
|
|
85
|
+
the whole inline reply, and when `record_attempt` returns `explain` the
|
|
86
|
+
background page carries the long version: teach in one place, never both.
|
|
87
|
+
|
|
88
|
+
1. **Name the mechanism** in one sentence, plainly.
|
|
89
|
+
2. **Show the code, or a small example.** With a `context` from the plan, quote
|
|
90
|
+
the two or three lines from the diff that make it true, only lines you have
|
|
91
|
+
read. With `context: null` (`concept` focus, a review, a topic lesson) write a
|
|
92
|
+
three-to-six-line worked example and say it is one. Never present invented
|
|
93
|
+
lines as theirs.
|
|
94
|
+
3. **Say what it generalises to**: the rule they carry to the next codebase.
|
|
97
95
|
4. **One-line takeaway.** What to remember if they forget everything else.
|
|
98
96
|
|
|
99
|
-
Six to ten sentences.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
tomorrow, and `asked_before` will force a *different* question about a concept
|
|
107
|
-
you have now taught. The spaced re-check is free and it is better than an
|
|
108
|
-
immediate one, which only tests whether they can repeat a paragraph they just
|
|
109
|
-
read.
|
|
97
|
+
Six to ten sentences. Then record: `grade: 0`, `outcome: "dont_know"`, your
|
|
98
|
+
explanation in `feedback`. Do not re-ask in the same breath: grade 0 pins mastery
|
|
99
|
+
at the floor, so it resurfaces tomorrow, and `asked_before` forces a different
|
|
100
|
+
question. Never offer to stop because they are blanking: two blanks mean the
|
|
101
|
+
pitch was too high, the planner already lowers `tier_to_ask`, so ask at the tier
|
|
102
|
+
the plan gives and wait to be told to stop. Never dump the remaining answers as a
|
|
103
|
+
list.
|
|
110
104
|
|
|
111
|
-
|
|
112
|
-
hint that they want out — it is evidence you are pitching too high. Drop a tier
|
|
113
|
-
and keep going. Tier-1 recall on something you have just explained is fair, and
|
|
114
|
-
it rebuilds footing. If they want to stop, they will say so; wait to be told.
|
|
105
|
+
## When the question is at fault
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
107
|
+
"This question does not have enough context", or "two of these are right" with
|
|
108
|
+
no pick made, is a verdict on the question, not a decline and not a blank. The
|
|
109
|
+
miss is yours and must cost them nothing:
|
|
118
110
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
"This question does not have enough context" is a verdict on the question, not
|
|
122
|
-
a decline. The question assumed something they never saw, so the miss is
|
|
123
|
-
yours. Never drop it untaught:
|
|
124
|
-
|
|
125
|
-
1. **Own it** in a few words — the question leaned on something you had not
|
|
126
|
-
shown them.
|
|
111
|
+
1. **Own it** in a few words.
|
|
127
112
|
2. **Give the answer and one line of why**, defining the name or situation the
|
|
128
113
|
stem skipped.
|
|
129
|
-
3. **Record
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
the first one
|
|
114
|
+
3. **Record `invalid`**: `outcome: "invalid"`, `grade: 0` (ignored), what was
|
|
115
|
+
wrong in `feedback`. Nothing is graded: no mastery, level, accuracy, review
|
|
116
|
+
date or gate changes, no `attempt_id` comes back, and an enforced gate does not
|
|
117
|
+
count it, so the concept is still asked. The stem is marked spent.
|
|
118
|
+
4. **Replace it** where the pacing allows (the table above). The replacement
|
|
119
|
+
opens with the situation sentence the first one lacked (`writing-mcq.md`,
|
|
120
|
+
*Write for a cold reader*).
|
|
121
|
+
|
|
122
|
+
A learner who really blanked on a clear question is `dont_know`: only the
|
|
123
|
+
question's own defect makes it `invalid`.
|
|
124
|
+
|
|
125
|
+
## Skip, stop and opting out
|
|
126
|
+
|
|
127
|
+
- **Skip this question**: `declined`, no teaching, no second ask.
|
|
128
|
+
- **Stop for now** ("enough"): stop asking this session and record nothing for
|
|
129
|
+
questions never shown. Nothing remembers it past the session, so for a lasting
|
|
130
|
+
stop tell them `eklavya config set quiz.enabled false` (the dashboard Settings
|
|
131
|
+
page does the same).
|
|
132
|
+
- **Opt out of a topic**: there is no per-topic switch; do not promise one.
|
|
135
133
|
|
|
136
134
|
## `already_taught`
|
|
137
135
|
|
|
138
|
-
When
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
what makes it stick; asking cold throws it away.
|
|
136
|
+
When true on a plan item, they blanked on this before and you explained it. Open
|
|
137
|
+
the next question as a follow-up to that explanation — *"last time I showed you
|
|
138
|
+
that `_work_section()` can return an empty string; so what happens to the nav
|
|
139
|
+
link when it does?"* — not as a first encounter.
|
|
@@ -18,7 +18,7 @@ Make one call to `present_question` instead:
|
|
|
18
18
|
- `options`: four, in display order, each `{label, description, grade}`. The
|
|
19
19
|
`label` is the option itself, a complete claim (what `writing-mcq.md` calls the
|
|
20
20
|
option), never `A` or `1`: the panel numbers them, and a bare marker is rejected.
|
|
21
|
-
The `description` is the
|
|
21
|
+
The `description` is the neutral clause from part 4: what the option claims, with no verdict and no "tempting because". Mark the right one
|
|
22
22
|
`correct: true`, **in the `answer_position` slot** (the call is rejected with
|
|
23
23
|
`wrong_answer_position` otherwise, and nothing is stored).
|
|
24
24
|
- Each option's `grade` is what a learner who picks it has shown, on the scale in
|
|
@@ -32,7 +32,10 @@ Make one call to `present_question` instead:
|
|
|
32
32
|
`` `shouldRepaint` ``) and nothing else: no headings, lists or emphasis. Option `label`s are drawn as
|
|
33
33
|
plain text, so write them in words and leave the backticks out of them.
|
|
34
34
|
- `explanation`: one line saying why the right option is right. The panel shows
|
|
35
|
-
it after the answer, so it is the whole of your feedback.
|
|
35
|
+
it after the answer, so it is the whole of your feedback. A call whose options
|
|
36
|
+
are lopsided in visible length, or whose descriptions explain themselves, is
|
|
37
|
+
rejected once with `conspicuous_options` and nothing stored: rewrite and call
|
|
38
|
+
again with the same stem.
|
|
36
39
|
|
|
37
40
|
It returns at once. Do not wait for the answer, do not call `record_attempt`
|
|
38
41
|
(the panel records it, once), do not give a verdict, and go straight back to
|
|
@@ -95,18 +95,25 @@ Before asking, read each distractor as if it were the key: if a senior reviewer
|
|
|
95
95
|
could argue for it, narrow the stem ("why *here*", "what does *this line*
|
|
96
96
|
prevent") until it cannot, or replace it with a different row.
|
|
97
97
|
|
|
98
|
-
**4. One clause of `description` per option.**
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
98
|
+
**4. One neutral clause of `description` per option.** The learner reads it
|
|
99
|
+
before answering, so it says what the option *does or claims*, never whether it
|
|
100
|
+
is right, why it is tempting or which misconception it is. "Tempting because…",
|
|
101
|
+
"a common mistake" and "this is why it works" are feedback, and feedback comes
|
|
102
|
+
after the answer.
|
|
103
|
+
|
|
104
|
+
Judge parity on what is on screen: the label and its description together. Give
|
|
105
|
+
every option the same grammar, the same number of claims and the same kind of
|
|
106
|
+
detail. Do not keep the mechanism, the example or the caveat for the correct
|
|
107
|
+
one. Bring the short ones up with real content, never filler; if a distractor
|
|
108
|
+
cannot reach the length honestly, the stem is too thin to have a near miss. The
|
|
109
|
+
correct option should not be the longest, and it should not be systematically
|
|
110
|
+
the shortest either: that is a tell in the other direction. The server and the
|
|
111
|
+
`ask-label` hook send back an option that outruns the next by a few words, or
|
|
112
|
+
whose description explains itself, once; rewrite it and ask again.
|
|
113
|
+
|
|
114
|
+
The reasoning behind each option goes in `option_notes` when you record the
|
|
115
|
+
attempt (the card path) and in the panel's `explanation` (the panel path), both
|
|
116
|
+
shown only after the answer.
|
|
110
117
|
|
|
111
118
|
**5. Placement.** The plan gives each question an `answer_position`, 1 to 4. Put
|
|
112
119
|
the correct option in that slot. Left to your own judgement you will put the
|
|
@@ -157,9 +164,8 @@ telling you which part to rebuild.
|
|
|
157
164
|
- All four options are within a few words of the same length and use the same
|
|
158
165
|
grammar. A visibly longer or more careful option reads as the correct one, and
|
|
159
166
|
gets picked without engaging — the same leak as always answering first.
|
|
160
|
-
-
|
|
161
|
-
|
|
162
|
-
it is tempting, not just that it is wrong.
|
|
167
|
+
- Each option, label plus description, is within a few words of the others, and
|
|
168
|
+
no description says why an option is right, wrong or tempting.
|
|
163
169
|
- Each of the three wrong options came from a different row of the table above.
|
|
164
170
|
- Only the correct option answers the stem; no expert could argue for another.
|
|
165
171
|
- The correct option sits at `answer_position`.
|
|
@@ -194,9 +200,10 @@ concept has unmet prerequisites:
|
|
|
194
200
|
|
|
195
201
|
- Ask about the prerequisite instead, if it is in the plan — the plan already
|
|
196
202
|
orders foundations first.
|
|
197
|
-
- Otherwise
|
|
198
|
-
|
|
199
|
-
|
|
203
|
+
- Otherwise ask at `tier_to_ask` (the planner owns the tier) and write the
|
|
204
|
+
question so it needs no alternative: about what this thing does, not why it
|
|
205
|
+
beats another. "Why this rather than the alternative" is not answerable by
|
|
206
|
+
someone who does not yet have the alternative.
|
|
200
207
|
- Say the dependency out loud in your feedback. Knowing *what to learn next* is
|
|
201
208
|
half of what the graph is for.
|
|
202
209
|
|
|
@@ -204,8 +211,9 @@ concept has unmet prerequisites:
|
|
|
204
211
|
|
|
205
212
|
`record_attempt` with `format: "mcq"`, `options` as the labels you offered,
|
|
206
213
|
`answer` as the one they picked, `correct` as the right option's label
|
|
207
|
-
verbatim, `option_notes` as
|
|
208
|
-
order as `options
|
|
214
|
+
verbatim, `option_notes` as what you want shown under each option after the answer (same
|
|
215
|
+
order as `options`; the reasoning each option earns, which the neutral
|
|
216
|
+
`description` left out), and `question` as the **stem only**.
|
|
209
217
|
|
|
210
218
|
`correct` and `option_notes` are what let the learner correct a missed answer
|
|
211
219
|
from its explainer page: the dashboard grades the new pick against `correct`
|
package/dist/store.js
CHANGED
|
@@ -339,7 +339,21 @@ export function hasAskedQuestion(db, conceptId, question) {
|
|
|
339
339
|
const rows = db
|
|
340
340
|
.prepare('SELECT question FROM attempts WHERE concept_id = ? ORDER BY id DESC LIMIT 20')
|
|
341
341
|
.all(conceptId);
|
|
342
|
-
|
|
342
|
+
if (rows.some((r) => questionFingerprint(r.question) === target))
|
|
343
|
+
return true;
|
|
344
|
+
// A question thrown out as invalid is spent too: asking it again unchanged
|
|
345
|
+
// would hand the learner the same broken question.
|
|
346
|
+
const invalid = db
|
|
347
|
+
.prepare('SELECT question FROM invalid_questions WHERE concept_id = ? ORDER BY id DESC LIMIT 20')
|
|
348
|
+
.all(conceptId);
|
|
349
|
+
return invalid.some((r) => questionFingerprint(r.question) === target);
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Sets a question aside as the tutor's mistake. Writes only `invalid_questions`:
|
|
353
|
+
* no attempt, no mastery, no gate, so nothing scored can change.
|
|
354
|
+
*/
|
|
355
|
+
export function recordInvalidQuestion(db, q) {
|
|
356
|
+
db.prepare('INSERT INTO invalid_questions (concept_id, session_id, question, reason) VALUES (?, ?, ?, ?)').run(q.conceptId, q.sessionId, q.question, q.reason);
|
|
343
357
|
}
|
|
344
358
|
/**
|
|
345
359
|
* Has this concept ever been blanked on and taught?
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const OPTION_COUNT = 4;
|
|
|
5
5
|
export const presentQuestionTool = {
|
|
6
6
|
name: 'present_question',
|
|
7
7
|
title: 'Present a quiz question in the side panel',
|
|
8
|
-
description: 'Hand one multiple-choice question to the Eklavya side panel and return at once. Use it instead of AskUserQuestion only when the plan says presentation "panel"; it is rejected with panel_disabled or panel_unavailable otherwise, and then you ask with AskUserQuestion. Give the stem alone, four options each with
|
|
8
|
+
description: 'Hand one multiple-choice question to the Eklavya side panel and return at once. Use it instead of AskUserQuestion only when the plan says presentation "panel"; it is rejected with panel_disabled or panel_unavailable otherwise, and then you ask with AskUserQuestion. Give the stem alone, four options each with a neutral one-line description (what it claims, never why it is right or tempting; keep label plus description about the same length across options) and a grade (the right one 4, a near miss 2, one built on a misconception 1) with the right one in the plan\'s answer_position slot, and a one-line explanation shown after the answer. The panel shows it, grades it from those grades and records the attempt itself: do not wait, do not ask anything else, do not call record_attempt, carry on with the task. One question per session may be open; a second is rejected with question_open. A call whose options are lopsided in visible length, or whose descriptions explain themselves, is rejected once with conspicuous_options and nothing stored: rewrite and call again with the same stem. Nothing is written to the learner\'s history until they answer.',
|
|
9
9
|
inputSchema: {
|
|
10
10
|
session_id: z.string().max(LIMITS.sessionId).optional().describe(SESSION_HINT),
|
|
11
11
|
cwd: z.string().max(LIMITS.cwd).optional().describe(CWD_HINT),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel_tools.js","sourceRoot":"","sources":["../../src/tools/panel_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAuD,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAE1E,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,2CAA2C;IAClD,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"panel_tools.js","sourceRoot":"","sources":["../../src/tools/panel_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAuD,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAE1E,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,2CAA2C;IAClD,WAAW,EACT,soCAAsoC;IACxoC,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,wHAAwH,CAAC;QACnL,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,+IAA+I,CAAC;YACrM,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACvG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gFAAgF,CAAC;YAChI,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC1F,CAAC,CACH;aACA,MAAM,CAAC,YAAY,CAAC;aACpB,QAAQ,CAAC,wCAAwC,CAAC;QACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACzG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACxG,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iLAAiL,CAAC;KACzN;IACD,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,8BAA8B;IACrC,WAAW,EACT,ugBAAugB;IACzgB,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1E,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gFAAgF,CAAC;YAC7H,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;SACxD,CAAC;aACD,QAAQ,CAAC,wFAAwF,CAAC;QACrG,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;SACjD,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC9D;IACD,OAAO,EAAE,CAAC,IAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAY;IACtC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,qhBAAqhB;IACvhB,WAAW,EAAE;QACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAC5F,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC;QACnH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;KACrD;IACD,OAAO,EAAE,CAAC,IAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;CAC9D,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { loadConfig } from '../config.js';
|
|
|
3
3
|
import { normalizeSlug } from '../slug.js';
|
|
4
4
|
import { decayedScore, isKnown } from '../srs.js';
|
|
5
5
|
import { resolveSessionId } from '../session.js';
|
|
6
|
-
import { conceptBySlug, gradeConcept, hasAskedQuestion, isMissed, levelStanding, logSessionConcept, promoteIfEarned, syncGate, MAX_MCQ_GRADE, PASSING_GRADE, } from '../store.js';
|
|
6
|
+
import { conceptBySlug, gradeConcept, hasAskedQuestion, isMissed, recordInvalidQuestion, levelStanding, logSessionConcept, promoteIfEarned, syncGate, MAX_MCQ_GRADE, PASSING_GRADE, } from '../store.js';
|
|
7
7
|
import { stripAskHeader } from '../ask.js';
|
|
8
8
|
import { CWD_HINT, LIMITS, SESSION_HINT } from './types.js';
|
|
9
9
|
/**
|
|
@@ -33,7 +33,7 @@ export function explainInstruction(name, options, attemptId, notes, answer = nul
|
|
|
33
33
|
export const recordAttempt = {
|
|
34
34
|
name: 'record_attempt',
|
|
35
35
|
title: 'Record a quiz attempt',
|
|
36
|
-
description: 'Grade one answer on the 0-5 SM-2 scale and persist it, returning its attempt_id. Updates mastery, the next review date, the session gate and this project\'s difficulty level. Record every response, including "I don\'t know" (grade 0, outcome dont_know, after you have taught it) and declines (grade 0, outcome declined); dont_know or declined with a grade of 3 or more is rejected with outcome_grade_conflict and nothing is recorded. Pass format "mcq" and the options you offered — question takes the stem alone, which is what the repeat check hashes; the options go in options. With every mcq also pass correct (the right option\'s label, verbatim) and option_notes (the description under each option, same order): they are what lets the learner correct a missed answer after reading its explainer. Multiple choice is capped at grade 4: picking one of four cannot show you know why; omit format only when they typed a real explanation instead of picking. Returns level and level_progress, and level_up on the answer that earns a promotion — say that in one line and move on. Returns explain on a missed answer when explain_on_wrong is on: follow its instruction.',
|
|
36
|
+
description: 'Grade one answer on the 0-5 SM-2 scale and persist it, returning its attempt_id. Updates mastery, the next review date, the session gate and this project\'s difficulty level. Record every response, including "I don\'t know" (grade 0, outcome dont_know, after you have taught it) and declines (grade 0, outcome declined); a question that was itself at fault (it assumed context the learner never saw, or two options both answer it) is outcome invalid, which grades nothing and moves no mastery, level, review date or gate; dont_know or declined with a grade of 3 or more is rejected with outcome_grade_conflict and nothing is recorded. Pass format "mcq" and the options you offered — question takes the stem alone, which is what the repeat check hashes; the options go in options. With every mcq also pass correct (the right option\'s label, verbatim) and option_notes (the description under each option, same order): they are what lets the learner correct a missed answer after reading its explainer. Multiple choice is capped at grade 4: picking one of four cannot show you know why; omit format only when they typed a real explanation instead of picking. Returns level and level_progress, and level_up on the answer that earns a promotion — say that in one line and move on. Returns explain on a missed answer when explain_on_wrong is on: follow its instruction.',
|
|
37
37
|
inputSchema: {
|
|
38
38
|
session_id: z.string().max(LIMITS.sessionId).optional().describe(SESSION_HINT),
|
|
39
39
|
cwd: z.string().max(LIMITS.cwd).optional().describe(CWD_HINT),
|
|
@@ -75,9 +75,9 @@ export const recordAttempt = {
|
|
|
75
75
|
.optional()
|
|
76
76
|
.describe('For mcq: the one-line description shown under each option (AskUserQuestion\'s description), in the same order as options.'),
|
|
77
77
|
outcome: z
|
|
78
|
-
.enum(['answered', 'dont_know', 'declined'])
|
|
78
|
+
.enum(['answered', 'dont_know', 'declined', 'invalid'])
|
|
79
79
|
.optional()
|
|
80
|
-
.describe('Why the grade is what it is. "answered" they attempted it; "dont_know" they said they did not know and you taught it; "declined" they chose to skip and you dropped it without explaining. Grade 0 covers the last two, so this is the only thing that tells them apart later -- and they are not interchangeable: a declined concept is
|
|
80
|
+
.describe('Why the grade is what it is. "answered" they attempted it; "dont_know" they said they did not know and you taught it; "declined" they chose to skip and you dropped it without explaining. Grade 0 covers the last two, so this is the only thing that tells them apart later -- and they are not interchangeable: a declined concept is not offered again by this session\'s gate retry, so labelling a blank as a decline removes it from the only route out of a blocked commit gate. If you taught it, it is "dont_know". "invalid" means the question itself was at fault (it assumed context the learner never saw, or two options both answer it): nothing is graded, no mastery, level, review date or gate changes, and no attempt_id comes back. Pass feedback with what was wrong; grade is ignored.'),
|
|
81
81
|
},
|
|
82
82
|
handler: (args, { db }) => recordAttemptCore(db, args),
|
|
83
83
|
};
|
|
@@ -113,6 +113,24 @@ export function recordAttemptCore(db, args) {
|
|
|
113
113
|
detail: 'No concept with that slug. Call upsert_concepts or log_session_concepts first.',
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
|
+
// The tutor's mistake, not the learner's: set the question aside and grade
|
|
117
|
+
// nothing. Before `levelStanding` and the transaction below, so no scoring
|
|
118
|
+
// path runs at all.
|
|
119
|
+
if (args.outcome === 'invalid') {
|
|
120
|
+
recordInvalidQuestion(db, {
|
|
121
|
+
conceptId: concept.id,
|
|
122
|
+
sessionId,
|
|
123
|
+
question: stripAskHeader(args.question),
|
|
124
|
+
reason: args.feedback?.trim() || null,
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
slug: concept.slug,
|
|
128
|
+
invalid: true,
|
|
129
|
+
detail: 'Set aside as a bad question: nothing was graded and no mastery, level, review date or gate changed. Own it in a few words, give the answer with one line of why, and where the pacing contract allows another question, offer a replacement that fixes what was missing.',
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// 'invalid' returned above; what is left is a real outcome.
|
|
133
|
+
const outcome = args.outcome;
|
|
116
134
|
// The settings line is presentation. Stripped rather than rejected, because the
|
|
117
135
|
// tutor pasting back the block it displayed is the likely mistake and losing
|
|
118
136
|
// a real answer over it would be the wrong trade.
|
|
@@ -132,7 +150,7 @@ export function recordAttemptCore(db, args) {
|
|
|
132
150
|
// -- rewriting a stated outcome would be guessing at what happened -- but
|
|
133
151
|
// reported loudly, because silence here is what let 11 of 16 declines in a
|
|
134
152
|
// real history carry an explanation with nobody noticing.
|
|
135
|
-
const outcomeConflict =
|
|
153
|
+
const outcomeConflict = outcome === 'declined' && typeof args.feedback === 'string' && args.feedback.trim().length > 0;
|
|
136
154
|
// A key that does not line up with the options cannot grade a correction,
|
|
137
155
|
// so it is stored as NULL -- but the answer is real, and losing it would be
|
|
138
156
|
// the worse trade, so the attempt is recorded and the tutor told.
|
|
@@ -166,7 +184,7 @@ export function recordAttemptCore(db, args) {
|
|
|
166
184
|
// answer is a fair hint that nothing was attempted, but it cannot tell
|
|
167
185
|
// "teach me" from "leave it" -- and inventing the difference here would
|
|
168
186
|
// put a value in the column that nobody observed.
|
|
169
|
-
outcome:
|
|
187
|
+
outcome: outcome ?? null,
|
|
170
188
|
repo: standing.repo,
|
|
171
189
|
level: standing.level,
|
|
172
190
|
now,
|
|
@@ -190,7 +208,7 @@ export function recordAttemptCore(db, args) {
|
|
|
190
208
|
// field it was handed far more reliably than a rule it has to remember, and
|
|
191
209
|
// the instruction is composed once, where the config is visible. A decline
|
|
192
210
|
// and a bare skip get nothing -- they asked to move on.
|
|
193
|
-
const missed = isMissed(grade,
|
|
211
|
+
const missed = isMissed(grade, outcome ?? null);
|
|
194
212
|
const explain = config.explain_on_wrong && missed
|
|
195
213
|
? {
|
|
196
214
|
concept: concept.slug,
|
|
@@ -241,7 +259,7 @@ export function recordAttemptCore(db, args) {
|
|
|
241
259
|
}),
|
|
242
260
|
...(outcomeConflict
|
|
243
261
|
? {
|
|
244
|
-
outcome_conflict: 'You passed outcome "declined" and also feedback. A decline is dropped without explanation, so if you taught this concept it was a blank: record outcome "dont_know". It matters — a declined concept is
|
|
262
|
+
outcome_conflict: 'You passed outcome "declined" and also feedback. A decline is dropped without explanation, so if you taught this concept it was a blank: record outcome "dont_know". It matters — a declined concept is not offered again by this session\'s gate retry, and in enforced mode that is the only way out of a blocked commit.',
|
|
245
263
|
}
|
|
246
264
|
: {}),
|
|
247
265
|
gate,
|