@jamestesting888/tum-mcp 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # Changes
2
2
 
3
+ ## 0.11.0 — 2026-10-28
4
+
5
+ - Add the base `prepare-exams` workflow and the local **Exam Prep** workspace: a
6
+ cheatsheet with a semester map you can pan, zoom and open full screen, exam patterns
7
+ with solving workflows and a worked practice question each, guided past papers, and
8
+ practice exams with a solution under every question. Statistics, map layout,
9
+ blueprint and novelty checks are derived by code. Exam Prep is never published.
10
+ - Add `tum-mcp study exam-report`, `study text` (page text extracted once per file),
11
+ `study import` (private local files such as past exams you hold) and
12
+ `study duplicates` (identical and near-duplicate copies across Moodle, Artemis,
13
+ Studocu and local files); `study inspect` lists identical copies.
14
+ - Students answer on paper. Only multiple-choice answers are checked; every other step
15
+ offers Compare, which shows one answer, its explanation and a hint for the likeliest
16
+ mistake. Exercises no longer show answer boxes, review buttons or status lines;
17
+ finishing an exercise marks it completed in the outline.
18
+ - Exercises gain code-writing steps that open the function skeleton in an editor and
19
+ show the model answer as code, numbered code blocks and distilled practice for large
20
+ programming tasks; prepare-exercises documents how to distil Artemis programming
21
+ exercises. Text and numeric checks hold a single answer, and authors are told to give
22
+ every question the context its answers use.
23
+ - Authored questions must show code, a diagram, a formula, a table or a plot beside
24
+ their text, and their first sentence says what the student produces. A new `uml`
25
+ block draws UML class, sequence and state diagrams in every workspace, and
26
+ `` `code` `` in text renders as inline code.
27
+ - Code is syntax-highlighted in blocks, editors and model answers. A new `files` block
28
+ shows a small project with a file tree, tabs and editable files kept in the browser;
29
+ steps point at file lines with an "Open in files" jump, code-writing steps edit
30
+ the project file they point at, and the file tree folds away. Distilled exercises no
31
+ longer carry concept tags. Code blocks can carry a step-by-step walkthrough, and
32
+ prepare-study asks for examples shown as a diagram or walkthrough, not only told.
33
+ - Right-click (or Shift+F10) any sidebar entry to mark it completed.
34
+ - A page whose sections all cite the same sources shows one citation beside its title
35
+ line, and a cheatsheet section whose entries share sources cites them once; exam
36
+ pages mention past exams only when there are some. Lines that only described a page
37
+ or told students to compare (such as the Exam Prep summary) are gone, and the skills
38
+ ask for text that teaches.
39
+ - A new `tree` block draws hierarchies such as file structures, object trees and call
40
+ trees with icons, connector lines and optional notes.
41
+ - Cheatsheet entries show their recognition cue and pitfall as labelled rows with icons;
42
+ the semester map has an icon toolbar and an in-canvas legend.
43
+ - Give every skill a Codex display name, so Codex no longer shows "Tum MCP:" prefixes.
44
+ - Pages no longer wait for the local video index; the video panel appears once it loads,
45
+ so a slow preview server cannot drop it.
46
+ - Pages no longer over-scroll: hidden labels cannot stretch the page, and the space that
47
+ keeps step arrows in place goes once you scroll back up.
48
+
3
49
  ## 0.10.0 — 2026-10-27
4
50
 
5
51
  - Add the optional `video-notes` extension (`tum-mcp install video-notes`): short
package/README.md CHANGED
@@ -30,6 +30,7 @@ submissions, posting and exercise execution are unavailable.
30
30
  | `sync-course` | “Set up a project for this course and collect its materials.” |
31
31
  | `prepare-study` | “Build lessons, flashcards and practice in a study website.” |
32
32
  | `prepare-exercises` | “Add guided exercises from this week's released sheet.” |
33
+ | `prepare-exams` | “Make a cheatsheet and practice exams from the past papers.” |
33
34
  | `publish-course` | “Publish my reviewed study site for phone access.” |
34
35
 
35
36
  Each project holds one course. Run `tum-mcp study` in its folder to open the app.
@@ -69,9 +70,10 @@ course/
69
70
  AGENTS.md Course instructions and inventory
70
71
  materials/ Course content, exams, exercises and other sources
71
72
  studocu/ Optional: summaries/, exams/ and other/ PDFs
72
- app/ Study, Exercises and optional Lecture Notes website
73
+ app/ Study, Exercises, Exam Prep and optional Lecture Notes website
73
74
  content.json Study lessons, flashcards and practice
74
75
  exercises.json Guided exercise content
76
+ exam.json Exam Prep: cheatsheet, exam patterns, practice exams (local only)
75
77
  lectures.json Optional: Lecture Notes
76
78
  lecture-assets/ Optional: selected lecture figures
77
79
  .tum-mcp/ Private course state, comments and lecture evidence
@@ -109,6 +109,8 @@ tag and artifact integrity before pushing the release documentation.
109
109
  | `src/tum_mcp/client_*.py` | Host-specific configuration and managed skill installation |
110
110
  | `src/tum_mcp/study_*.py` | Course snapshots, teaching, build, preview and project-local passage comments |
111
111
  | `src/tum_mcp/bundled/skills/` | Canonical versioned source of reading, study, audio and video skills and their references/assets |
112
+ | `src/tum_mcp/exam_*.py` | Exam Prep contracts, derived statistics, report and map layout; never published |
113
+ | `src/tum_mcp/study_text.py`, `study_import.py`, `study_duplicates.py` | Page-text cache, private local imports and cross-provider duplicate reports |
112
114
  | `src/tum_mcp/video_*.py`, `bundled/video_runtime/` | Video Notes contracts, lint, media checks, orchestration and the isolated render worker |
113
115
  | `npm/` | Private-runtime installation, updates, integrity and cleanup |
114
116
  | `tests/` | Synthetic backend, package and owned-browser checks |
@@ -168,7 +170,7 @@ playback tests also run WebKit when Playwright's WebKit is installed.
168
170
 
169
171
  ## Optional Lecture extension
170
172
 
171
- Base setup exposes five workflows and no `tum_live_*` tools. `install lecture`
173
+ Base setup exposes six workflows and no `tum_live_*` tools. `install lecture`
172
174
  records explicit selection, refreshes managed clients and provisions the optional
173
175
  recognizer only when requested/supported. `--no-asr` keeps captions/imported WebVTT.
174
176
  Heavy recognition dependencies and model weights stay outside the base environment
package/docs/study.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Course study projects
2
2
 
3
- Five base skills cover source reading, course sync, Study preparation, Exercises
4
- preparation and publishing. They run in your local agent, using the connected
3
+ Six base skills cover source reading, course sync, Study preparation, Exercises
4
+ preparation, exam preparation and publishing. They run in your local agent, using the connected
5
5
  MCP tools to read course sources. The CLI validates and stores the resulting local
6
6
  files; it does not run an AI model.
7
7
  The optional `prepare-lecture` skill adds a Lecture Notes workspace; install it with
@@ -40,9 +40,10 @@ pse-ws26/
40
40
  course.md Cited course structure, logistics, rules and unknowns
41
41
  state.json Course binding, source versions and coverage
42
42
  notes/ Detailed course/agent notes when needed
43
- app/ Shared Study, Exercises and optional Lecture Notes website
43
+ app/ Shared Study, Exercises, Exam Prep and optional Lecture Notes website
44
44
  content.json Optional source-backed Study content
45
45
  exercises.json Optional prepared exercise guidance
46
+ exam.json Optional Exam Prep content (local only)
46
47
  audio/ Optional category audio derived from the prepared website
47
48
  videos/ Optional explainer videos derived from the prepared website
48
49
  ```
@@ -183,22 +184,54 @@ at the bottom of the outline switches between them and remembers your place; on
183
184
  it sits inside the open outline. The exercise list groups exercises by sheet and shows
184
185
  each sheet's summary and due date when the sources provide them.
185
186
 
186
- Each exercise shows the original statement and subparts first. Work on paper or in
187
- the app, open the worked solution directly, or open **Guidance** for the exercise's
188
- goals and one step at a time with optional hints and specific feedback. Checks cover
189
- numbers with units and tolerance, multiple choice, fillable tables, graph selections
190
- and paths, and plotted sample points. Long math and programming work use saved drafts
191
- and prepared rubrics; code is never executed, and symbolic work, proofs and programs
192
- are not graded automatically. Mark an exercise reviewed when you are done; Reviewed
193
- records an action, not mastery or an assessment result. A Next link leads to the
194
- following exercise.
195
-
196
- Drafts and assistance stay in this browser. Editing a checked answer clears its
197
- verdict. Semantic changes start fresh progress for only that exercise, while retaining older
187
+ Each exercise shows the original statement and subparts first. Work on paper, open the
188
+ worked solution directly, or open **Guidance** for the exercise's goals and one step at
189
+ a time with optional hints. Multiple-choice steps are checked; for every other step you
190
+ work on paper and press **Compare** to see the answer, its explanation and a hint for
191
+ the likeliest mistake. Code steps open the function skeleton in a small editor and
192
+ show the model answer as code; code is never run, and nothing is graded by keywords.
193
+ Finishing the last step marks the exercise completed in the outline; you can also
194
+ right-click any entry to mark it. A Next link leads to the following exercise. Large
195
+ programming exercises can come with small distilled practice exercises that train one
196
+ idea each and link back to the original.
197
+
198
+ Choices, code drafts, hints and completion marks stay in this browser. Changing a
199
+ checked choice clears its verdict. Semantic changes start fresh progress for only that exercise, while retaining older
198
200
  browser records; source-hash review alone preserves progress.
199
201
  Reset on each workspace home affects only that workspace. Exercise passage comments
200
202
  use the existing private comment service; hosted exports do not expose it.
201
203
 
204
+ ## Prepare for exams
205
+
206
+ Ask `prepare-exams` to build the **Exam Prep** workspace from the course's past exams,
207
+ exercises and materials. Past exams come from `materials/exams` (Moodle),
208
+ `materials/studocu/exams` (Studocu) or files you hold yourself:
209
+
210
+ ```bash
211
+ tum-mcp study import ./pse-ws26 --file "Klausur WS23.pdf" --kind exam --title "Endterm WS23/24"
212
+ tum-mcp study duplicates ./pse-ws26 --near # identical and likely duplicate copies
213
+ tum-mcp study exam-report ./pse-ws26 # what the agent reads before authoring
214
+ ```
215
+
216
+ Imported files stay private and survive campus syncs. Copies of the same exam from
217
+ different places count once.
218
+
219
+ - **Cheatsheet**: a semester map of the exam-relevant ideas and one-line entries with
220
+ formulas, triggers and pitfalls; open an entry for details. The map can be dragged,
221
+ zoomed and opened full screen.
222
+ - **Exam patterns**: recurring question types with recognition cues, a solving workflow,
223
+ answer template, marking points, a worked practice that applies each workflow step,
224
+ and drills whose answers you can open at any time.
225
+ - **Practice exams**: work through real past papers question by question with
226
+ guidance, or read a whole paper and open each question's solution to check yourself;
227
+ forecast practice exams follow the real exam's length and weighting with new
228
+ variants and untested topics.
229
+
230
+ Right-click any entry in the sidebar, in any workspace, to mark it as completed.
231
+
232
+ Statistics such as "seen in 4 of 6 exams" are history, never a prediction. Exam Prep
233
+ always stays local: it is never published.
234
+
202
235
  Existing `study/` projects continue to work. New projects use `app/`. To upgrade a
203
236
  verified legacy layout explicitly, run `tum-mcp study build PROJECT --upgrade-layout`.
204
237
  It keeps the original tree at `.tum-mcp/layout-backup/`, preserves the course identity,
package/docs/tum-mcp.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Package: `@jamestesting888/tum-mcp`, CLI: `tum-mcp`, backend: Python 3.13.
4
4
  The package combines read-only course retrieval, managed client installation and
5
- five base course workflows and three optional extensions.
5
+ six base course workflows and four optional extensions.
6
6
 
7
7
  ## Current capabilities
8
8
 
@@ -208,7 +208,7 @@ in JSON for troubleshooting. Default diagnostics do not create state folders.
208
208
  uses read-only local status to initialize an explicitly chosen available course or
209
209
  reconcile an existing project. Incomplete state is preserved for recovery.
210
210
  `prepare-study` authors lessons; `prepare-exercises` authors guided released sheets
211
- in the same local app. See the
211
+ and `prepare-exams` builds a local Exam Prep workspace in the same app. See the
212
212
  [study guide](study.md) for examples, state structure and helper commands.
213
213
 
214
214
  One project holds one course. Source revisions, coverage and course knowledge
@@ -225,8 +225,8 @@ writing files with activation.
225
225
 
226
226
  The Codex adapter uses a contained Node launcher to pin the managed Python in
227
227
  isolated mode; portable stdio manifests require a bare or contained executable.
228
- The base pack contains five skills: `read-content`, `sync-course`,
229
- `prepare-study`, `prepare-exercises` and `publish-course`. Optional extensions add
228
+ The base pack contains six skills: `read-content`, `sync-course`,
229
+ `prepare-study`, `prepare-exercises`, `prepare-exams` and `publish-course`. Optional extensions add
230
230
  `prepare-lecture`, `sync-studocu`, `audio-notes` and `video-notes`; choose them with
231
231
  `tum-mcp install`.
232
232
  Website-specific retrieval guidance is loaded from references within read-content.
@@ -1,5 +1,5 @@
1
1
  {
2
- "wheel": "tum_mcp-0.10.0-py3-none-any.whl",
3
- "wheelSha256": "69a13997a3c5630f411e0237f33f7b59224b56d96bbcea07f263b939df1a5eff",
2
+ "wheel": "tum_mcp-0.11.0-py3-none-any.whl",
3
+ "wheelSha256": "0706ba3855ca5cba44e7ab9d46474129a92f3b7e902f4f610e2273f4c31e2975",
4
4
  "requirementsSha256": "39a401b6e606d3292eb91b8fe9ef60367d4852f203eb409dc52f38b76e513ccf"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamestesting888/tum-mcp",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Read-only TUM campus tools and source-backed study, exercise and lecture workflows",
5
5
  "license": "MIT",
6
6
  "type": "module",