# Plan: Playbook tech sections → Wes/TILT-approved tools

**Spec/review:** Opus · **Coder:** Sonnet · **Skills:** ponytail, karpathy, honey
**Source of tool truth:** `standards/asu-assessment-tools.md` (Wes-approved delivery tools) + Honorlock/Respondus (proctoring, last resort — added by this plan).

## Goal
Replace the `tech` lists in `scripts/assessment_design_playbook.py` so every category names only **ASU/Wes-approved tools**, mapped to that category, each with its caveat. Drop non-approved tools. This enacts Michael Miller's ask to swap the playbook's technology sections for the program-vetted set.

## Scope (ponytail: smallest change that lands it)
1. `standards/asu-assessment-tools.md` — add ONE row: `Honorlock / Respondus (LockDown Browser)` — proctoring, **last resort**, the only ASU-supported identity/condition control; not in Wes's delivery-tool PDF but retained per program decision. Columns: Secures a graded anchor? = Yes (identity control, last resort); Design use = --; Graded+passback = via Canvas; Sync/async = async-compatible (LockDown) / proctored; Caveat = equity + surveillance burden, not AI-proof (deepfakes), use only for high-stakes.
2. `scripts/assessment_design_playbook.py` — rewrite the five `tech` lists per §Mapping below. Drop Examity, Perusall, Hypothesis, Turnitin, Canvas Studio, Flip. Keep Honorlock + Respondus in Quizzes & Exams only, labeled last resort.
3. Ensure each category renders as its own one-pager: add an explicit page-break so each `.category-block` starts a new printed page (the block already sets `break-inside: avoid`; add `break-before: page` on every category block after the first, guarded to print/PDF only).

## Non-goals (deferred / out of scope)
- **No family re-taxonomy.** Keep the current 5 categories; the Written / Multiple-Choice / Problem-based 9-type grid is deferred pending Michael's family-sorting clarification.
- No change to the AI-forward / AI-resistant moves, tone, TILT-models pairing, or anchor content — only the `tech` lists and the page-break.
- No report/brief change. Playbook is already a standalone generator; nothing to decouple.
- No version bump/CHANGELOG (release after review).

## Mapping — exact `tech` list content per category
Each line: the tool, its category-specific use, and its caveat. Use `--` not em/en dashes.

**Discussions**
- EdDiscussions -- gated posting (students submit before seeing peers) and prompts bound to specific cohort content; grade integration and specificity, not length.
- VoiceThread -- voice or video posts where identity is the anchor; a scripted AI voiceover is exposed in a short live or threaded follow-up.
- Harmonize -- multi-stage peer-review discussions with rubric-based review. Note: Harmonize includes built-in AI coaching; disable it in a no-AI course or use it to move that course to AI-forward.
- Yellowdig -- community participation points. Engagement signal only; it does not verify authorship, so do not treat it as a securing anchor.

**Quizzes and Exams**
- Canvas New Quizzes -- item banks with randomization or parameterization and time limits; the securing lever is a large randomized application pool, not the timer.
- iClicker or Top Hat -- synchronous comprehension checks. Formative and sync-only; not a securing control for async courses.
- Last resort -- Honorlock or Respondus LockDown Browser for high-stakes exams only. Carries equity and surveillance burdens (device requirements, cost) that must be weighed against the assurance gain, and is not AI-proof.

**Papers**
- Harmonize -- multi-stage draft, rubric peer review, and revision in one assignment; the staged submissions are the authorship and process trail. (AI-coaching caveat as above.)
- VoiceThread -- a short recorded explanation or defense of the paper tied to its specific source, a recorded authorship signal that passes back to Canvas.
- Canvas Assignments -- native submission with rubric and SpeedGrader feedback; pair with a required outline or draft milestone to capture process.

**Projects**
- Harmonize -- milestone check-ins, peer review, and multimedia submission that build a verifiable development record.
- VoiceThread -- a recorded walkthrough where each member explains their own contribution, adding individual accountability.
- Canvas Assignments -- deliverable submission with a rubric; require a dated process log or, for code, commit history alongside.

**Presentations**
- VoiceThread -- asynchronous oral or narrated-slide response, a strong identity signal; not fully AI-proof (deepfakes, AI voiceovers), so pair high-weight items with a short unscripted follow-up.
- WeVideo (PlayPosit) -- embedded prompts inside the recorded presentation for comprehension and engagement evidence.
- Last resort -- a live synchronous Q&A for the highest-weight presentations only, given its scheduling cost.

## Acceptance criteria
1. Every `tech` list in the playbook contains only tools from `standards/asu-assessment-tools.md` (including the new Honorlock/Respondus row). No Examity, Perusall, Hypothesis, Turnitin, Canvas Studio, or Flip anywhere in the file.
2. Honorlock/Respondus appear only in Quizzes & Exams, labeled last resort.
3. The new `standards/asu-assessment-tools.md` row exists with all six columns.
4. Each category renders on its own page in print/PDF (page-break before each block after the first); screen rendering unaffected.
5. No em/en dashes in authored prose (use `--`); dash-lint test green.
6. Full suite green: `.venv/bin/python3 -m pytest tests/ -q`. If a playbook test asserts on tool strings (e.g. tone/TILT tests), update only what the tool swap requires; do not weaken unrelated assertions.

## Verify (for the reviewer, Opus)
- Regenerate the playbook HTML and confirm each category's tech section shows the mapped tools + caveats and none of the dropped tools.
- Read the diff by hand; re-run the full suite. Coder != reviewer.

## Workflow
Feature branch → implement → full suite green → PR against `main` (`gh pr create`), do NOT merge. ponytail/karpathy/honey: minimal-diff, only the `tech` lists + one doc row + the page-break; terse. Report branch, PR#, verbatim pytest line, files changed, any criterion unmet.
