Playlist Run
playlist_runPlay a person's held courses through a checklist's stored playlist and get their progress line by line. Give checklist_id and held, the whole list each time. Five held courses are landed per call: a course taken at the playlist's school lands as itself, a course from another school lands as the receiving course the school's known transfer rules name, a course with no known mapping is unresolved, and a failing or withdrawn grade (F, U, NC, W) does not land. An answer that is not done carries continue: send continue back unchanged, with the same checklist_id and held, until the answer says done. Slots, areas and the open elective are settled on the last call, whose answer gives the summary, every line with its state and the held course that met it, what the person still needs, what did not count and why, the playlist's id, status and source, and a run_token. If no active, validated playlist is held for the checklist, the answer says so and names playlist_open as the next call; a run is never made against the harvested checklist. Pass first_run true when the playlist was assembled in this same conversation, immediately before the run. The person's courses are never stored: they come in each call and go back in continue, which you keep. Only the run's line states, counts and timings are recorded, after the answer.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"checklist_id": "<checklist_id>",
"held": "<held>"
},
"name": "playlist_run"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| held | Yes | The courses the person holds, as many as there are, the whole list on every call, in the form checklist_map accepts: each { unitid or school, code, title, credits, grade, term } | |
| continue | No | From the previous answer: its continue, sent back unchanged. Leave it out on the first call | |
| first_run | No | First call only: true when the playlist was assembled in this same conversation, immediately before the run; otherwise the run is recorded as a hit | |
| checklist_id | Yes | The checklist, by its checklist_id from a CourseShelf answer |