question tools: phase-visible names, hardened teach schemas, context-slim seams
The tools_fails_2 diagnosis (glm-5.3 dropping trailing required fields):
- probe-phase quiz/explain renamed to probe/recall — a shared name carried
the probe call shape into teaching (the first teach quiz dropped nodeId);
display seams accept the old names forever
- teach quiz+explain schemas lead with the required pair (type, nodeId);
explain gains the predict/check type and joins the reveal law (checks
collapse, predictions arrive open; no-type records render check-style)
- plan_init/probe_done results go context-slim (owner, context diet):
content = validated nodeIds + binding-id reminder / fixed ack; details
keeps the tree for the popup and {ok:true} — serializer-verified that
details never reaches the model; failure echoes dropped
- the cards carry the tool's own name (Probe/Recall) and the quiz type
reads on the label (Prediction/Check) in composer and transcript
This commit is contained in:
@@ -81,5 +81,14 @@ export interface ProbeDoneResult {
|
||||
ok: boolean;
|
||||
/** Refusal reason when ok === false (open question, already concluded). */
|
||||
error?: string;
|
||||
assessment?: ProbeAssessment;
|
||||
}
|
||||
|
||||
/** The probe_done ack's model-facing text (owner, context diet
|
||||
* 2026-10-09): the assessment is the CALL's arguments — durable in the
|
||||
* transcript, streamed to the learner — so echoing it back in the
|
||||
* result would duplicate the probe phase's largest payload in every
|
||||
* future context. The agent sees this fixed line instead; `details`
|
||||
* carries only {ok:true} for the record/UI. Same doctrine as
|
||||
* CONCLUDE_ACK_TEXT. */
|
||||
export const PROBE_DONE_ACK_TEXT =
|
||||
"Assessment recorded — it is shown to the learner now and the teacher plans from it. Say your closing sentence and end your turn; the teaching phase takes over from here.";
|
||||
|
||||
Reference in New Issue
Block a user