An assessment-design agent reads course objectives, tags each item by Bloom level, drafts the quiz, and waits for the instructor. Dock stores the draft, the objective mapping, the reviewer, and the timestamp. The LMS stores the published assessment. The two are joined by a pointer, not by a copy.
Most instructors do not need another quiz generator. They need the agent's reasoning visible before the quiz is pushed live, and they need the sign-off attributable months later when an accreditor or department chair asks who approved what.
Canvas, Google Classroom, and Schoology stay the system of record for the raw data. Dock is the system of record for what the AGENT INTERPRETS. Each Dock row carries a pointer back to the platform record, agent identity, decision, reviewer, and timestamp. The agent re-fetches platform data via fresh API reads when it needs current state.
The assessment-draft surface
| Course | Objective | Bloom level | Item draft | Status | Reviewer | LMS pointer |
|---|---|---|---|---|---|---|
| BIO 201 | Explain mitosis phases | Understand | 4-part short answer, rubric attached | Approved 2026-05-28 | Dr. Okafor | canvas://courses/BIO201/quizzes/884 |
| HIST 110 | Compare Reconstruction interpretations | Analyze | DBQ with 3 primary sources | Returned for revision | Prof. Lin | gclassroom://c/HIST110/draft-19 |
| CS 130 | Design a sorting algorithm for a constraint | Create | Open prompt + rubric, no autograder | Pending review | unassigned | schoology://courses/CS130/draft-7 |
Three rows, three Bloom levels, three LMS targets. The row is the agent's interpretation. The quiz lives in the LMS.
One workflow, start to finish
The instructor opens the syllabus and tags six objectives for the midterm. The agent reads the objectives, classifies each by Bloom level using the action verb, and drafts items that match the level. An Analyze objective gets a comparison prompt, not a multiple-choice recall question. A Create objective gets an open prompt with a rubric, not an autograder.
Each draft lands as a Dock row with the source objective, the chosen Bloom level, the draft text, and the LMS course pointer. The instructor reviews in Dock, edits inline, and clicks Approve. On approve, the agent publishes the item to Canvas, Google Classroom, or Schoology under the instructor's OAuth scope, then writes the LMS item ID back to the Dock row. The row now holds the full chain: objective, level, draft, reviewer, timestamp, published ID.
If the instructor returns the item, the row stays open with the revision comment. The agent redrafts and the cycle repeats. Nothing reaches students without a named sign-off.
Why it matters
Bloom's taxonomy requires that each objective have one measurable verb, and that assessments match the level of that verb, as the University of Arkansas teaching guide states (source). An agent can map verbs to levels at scale, but the mapping is a claim, not a fact. The Eberly Center at Carnegie Mellon notes that learning must be assessed through what students can do (source), which means the instructor's judgment on each item is the load-bearing step. Dock records that judgment.
Six months later, when a program review asks why HIST 110 shifted from Remember-level to Analyze-level questions, the row holds the answer. The agent proposed it, the instructor approved it, the date is fixed. See /blog/agent-audit-and-compliance for the audit pattern, and /blog/agent-identity for how the reviewer field is signed.
This pairs with the research workflow in /blog/dock-for-research, where the same attribution shape covers literature reviews and grant drafts. The full education surface is mapped in /blog/dock-for-education.
Start with one course
Pick one course this term. Wire the agent to Canvas, Google Classroom, or Schoology. Let it draft the next assessment into Dock and approve item by item. See /blog/dock-for-research for the adjacent rail and /blog/agent-identity for sign-off mechanics.
FAQ
Does the agent publish quizzes without me? No. The agent drafts into Dock and waits. Publication to the LMS happens only after a named instructor clicks Approve on the row.
What if I edit a question after publication? Edit in the LMS. The agent re-fetches the current item on the next read and opens a new Dock row reflecting the change, with you as the editor of record.
How does the agent pick a Bloom level? It reads the objective's action verb and maps to the six-level taxonomy. The level is a proposal in the row. If you change it, the row records your override and the agent uses your level for downstream items.
Can a TA approve items instead of me? Yes, if you delegate. The reviewer field captures whoever signed, with their agent identity or human identity, so delegation stays attributable.