# Practice loop

Use the demo as a structured rehearsal with human feedback:

1. Select a scenario and read its prompt and assumptions. Ask the candidate to state their approach before calculating.
2. Capture each requested numeric result and the candidate's explanation separately. Preserve signs and units; rates use decimals unless entered with a percent sign in the UI.
3. Check only the supplied numeric fields with `gradeAnswer` or the local `/api/check` endpoint. Review diagnostics and unanswered fields; do not fill in omitted answers.
4. Discuss the worked solution and follow-up prompts. Ask the candidate to defend assumptions and explain causal steps. The tool does not grade prose.
5. Use the replacement inputs for a retry after discussion. Treat a repeat match as practice on that calculation, not proof of retention or readiness.
6. End with specific human feedback and a next practice target. Do not issue a readiness score or claim recruiting/interview readiness.

## Function tool

`grade-answer.mjs` exports `checkTool`, named `check_answer`. Its parameters are `question_id` (string), `attempt` (`first` or `retry`), and `answers` (object whose values are numbers). All three are required. The tool description instructs agents to confirm ambiguous numbers with the candidate, never infer missing answers, and check reasoning through conversational follow-ups separately. The function schema does not include `concept_choice`; the local HTTP endpoint does accept it.

The return value labels itself with a limitation: only supplied numbers and explicit concept selection are checked. A correct numeric match is not an assessment of communication, judgment, or full technical ability.

## Student practice state

The IB room has an optional device-saving switch, off by default. If enabled, drafts, explanations, attempt history, viewed solutions and last scenario are held in localStorage under `casework-practice-v1`. Turning saving off removes the device copy; Clear saved practice also resets current drafts and attempts. Storage failures show an export reminder. Never assume this is synced, secure institutional storage or a backup.

Your next practice uses the latest submitted attempt per scenario. Calculation or explicit concept errors take priority, followed by matched original answers needing a changed-number retry, then unattempted scenarios. A matched retry is not proof of retention, an unseen transfer test or interview readiness. Solution views do not count as submitted attempts.

## Highlights and flashcards

The practice room offers Practice and Flashcards views. Select text within one question or worked-answer paragraph, then use Highlight selection. Highlights can be individually removed. Flashcards reveal the original worked answer and accept an explicitly subjective review label. Neither revealing nor self-rating adds a checked attempt. Highlight offsets and quotes are tied to the source text; changed text is not blindly marked. These study records share the opt-in device-saving control and Clear saved practice action. There is no spaced-repetition scheduler or institutional sync.
