# Teaching and homework review

This is an AI specialist assessment of the supplied interface and content, not a report of student testing. The source application was inspected without edits. The changes below preserve the activity's main research task: distinguish observation from inference, connect an action to an actor's opportunity, test an account against a complication and an alternative, and state a claim-specific limit.

| Proposal | Judgment | Implementation boundary |
|---|---|---|
| Aim for 60–85 words; allow completion at 50–120 | **Implement** | Display both bands together. Gate completion at 50–120 without removing the two supporting IDs, complication, claim limit, comparison, competing account, or evidence request. A longer band relieves compression; it does not assess the reasoning. |
| Label PDF printing separately from JSON backup | **Implement** | Use **Print / Save as PDF**, **Download readable report (HTML)**, and **Download backup to resume (JSON)**. Explain that PDF is produced by the browser's print dialog and JSON restores editable work. Finishing still does not submit to a teacher. |
| Remove search-service failure metadata | **Implement** | Remove the internal service-failure and search-reference-ID sentence from learner-facing verification copy. Preserve the checked date, original-source URLs, source provenance, substantive uncertainties, and uninspected-original-judgment disclosure. An infrastructure problem is not a source limitation. |
| Country target chips | **Adapt** | Offer a small set of optional, neutral event/opportunity frames with learner-filled actor and period slots, plus the existing free text. Clicking a partial frame must leave the target check incomplete until its supplied blanks are filled. Do not choose a causal answer. |
| Auto-fill target from the opening | **Reject** | An opening hypothesis can span several possible targets, and automatic text would satisfy today's nonempty check without a deliberate target choice. A learner-triggered suggestion could be reconsidered later; silent completion is unnecessary here. |
| Insert-button rival and evidence stems | **Adapt** | Insert optional reasoning structures, never a historical answer. Insert only into an empty field or at the learner's selected insertion point; preserve existing work. Untouched templates and unresolved helper blanks must remain **To review**. |
| Warrant and claim limit on each evidence card face | **Implement with concise copy** | Show the existing positive support sentence and one short, card-specific boundary beside the recorded point. Keep full card text, source details, exact dates, original-source links, and full limitations available. Label these as supplied guidance; they are not the learner's analysis. |
| Compact grading summary for Canvas | **Adapt** | Add **Copy submission summary (Canvas)**. It copies the learner's work and current completion status, not a grade or generated paraphrase. Keep the complete PDF/HTML record available for a detailed review. |
| No pasting in For class mode | **Implement as instructed** | Apply the rule consistently to learner text entry and prevent clipboard/drop insertion before it changes the text. Keep outbound copying, typing, selection, keyboard navigation, normal composition, and the authorized backup/restore workflow usable. Do not claim this proves authorship. |

## Required checks and wording

The current `structuralChecks` function at template line 176 uses `.trim()` for target, rival, and evidence-request completion. A provided nonempty frame would pass all three checks without any learner response. This is the main new implementation risk.

Use a shared helper-completion check across the editor, live checks, finishing, imported saves, report status, and the Canvas summary. It should reject known untouched frames and recognizable unfinished helper tokens such as `[actor]`, `[period]`, and `__`. Do not claim that filling the blanks proves relevance or reasoning quality. Avoid broad heuristics that reject ordinary parentheses or a substantive citation in square brackets. Keep real free-text responses possible.

Useful optional stems are:

- Rival: `The uncertain link is [link]. Another explanation is [account].`
- Evidence: `My account predicts [pattern]; the other predicts [pattern]. I would check [observation], for [people] in [period].`

These must remain short phrases if the learner can express the required contrast briefly. Do not add another essay requirement or require a rival that denies a documented event. The two accounts can both contribute; the evidence request needs an observation expected to differ under them, not a vague request for “more evidence.”

Use **Aim for 60–85 words; completion range 50–120** in the explanation editor, briefing, help, live counter, inclusion checks, report, and any summary. At 86–120 words the record can finish; any encouragement to shorten should not look like an error. Preserve the existing 30–45-word comparison unless separately authorized. Centralize the main band so the UI and gate cannot diverge.

## Evidence-card face

All 24 cards have `cardWarrants`; only 16 have explicit `cardLimits`. The missing eight are RU3, RU4, RU6, MY2, MW1, MW2, RS1, and RS4. Proposed short limits and source associations are in `Missing_Card_Limits.md`.

Do not silently omit the boundary for those eight or imply that reading the face means the original source has been opened. Opening a source record must remain a distinct action. A short face boundary is a reading aid; the full source limitation remains necessary for issues such as Malawi's numerical discrepancy and the distinction between monitored content, exposure, persuasion, and votes.

Retain “What the record supports” and “Where the claim stops,” or equally plain labels. Prefer one sentence per item and preserve dates, units, and actors when they establish the boundary. Avoid converting absence of measurement into a claim that an effect did not occur. Positive support and uncertainty should remain equally visible.

## Canvas summary

Compact the export by omitting repeated source prose, every practice attempt, and supplied feedback. Do not truncate or rewrite the learner's required work to meet an arbitrary character limit. Suggested sequence:

1. Optional name, solo/shared-pair status, main case and historical period, and **Draft** or **Complete for human review**.
2. Research target and the exact current explanation with its word count.
3. Selected support and complication IDs/titles, and the learner's complication reason.
4. Current actor/action/changed-option connection; optional inferred consequence if present.
5. Competing account/shared uncertain link and distinguishing evidence request.
6. Two applied hearing decisions with their learner-written reasons and any applied revision or replacement.
7. Second case and exact comparison, including its word count and cited IDs.
8. Writer confirmations and **Inclusion checks only; reasoning has not been graded**.

If including the opening for comparison, distinguish a supplied opening choice from an own-written opening. Derive all summary status from the same checks used by Finish. A summary must refresh after edits and must not carry a stale “complete” label. If clipboard access fails, present the same selectable summary for ordinary copying; an output surface must not inherit the class text-entry paste block. Copying into Canvas is outbound use and is compatible with preventing pasting into the game's answer fields.

## Class entry and accessibility

The no-paste requirement is the user's decision and should be honored. Implement it through scoped paste/insertion/drop handling, not a broad keyboard ban or a rule that rejects large chunks of typed text. A short, accessible status message should say **Pasting is disabled in For class mode. Type your response here.** Keep the insertion point, existing draft, and selection intact.

Verify ordinary typing, mobile editing, IME composition, dictation paths that do not simulate paste, keyboard and context-menu paste attempts, drag/drop, mode switches, inserted first-party stems, and JSON restore. Some assistive workflows use clipboard insertion; that is a limitation of the requested rule, not a reason to silently waive it. Do not promise universal assistive compatibility or add invasive authorship, AI-detection, clipboard-reading, or typing-surveillance features.

## Release checks

- A 50-word and 120-word main explanation can finish when all other requirements are included; 49 and 121 cannot. A correct count does not earn a quality judgment.
- Clicking a target frame or either reasoning stem without filling its blanks leaves its required item **To review**. The same is true after saving and importing that untouched draft.
- A real free-text response can satisfy the inclusion check without choosing a helper.
- Face guidance appears for all 24 cards, does not expose internal tooling failure copy, and does not alter source-opening counts.
- PDF/HTML and Canvas copy preserve the exact current learner text and correct status; JSON still restores the editable workspace.
- Class paste/drop attempts do not alter drafts; outbound summary copying works; ordinary composition and mode switching remain usable.

These are focused improvements to the existing six-stage activity. No additional worksheet, new scoring system, or navigation redesign is needed.
